jquery – 如何通过h来包含JavaScript文件:outputScript?

前端之家收集整理的这篇文章主要介绍了jquery – 如何通过h来包含JavaScript文件:outputScript?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to reference CSS / JS / image resource in Facelets template?2
我想使用jQuery Validate插件与JSF进行客户端表单验证.我在进口资源方面遇到基本困难.

在我的JSF页面

<h:outputScript library="js" name="jquery-1.6.2.js"></h:outputScript>
<h:outputScript library="js" name="jquery.validate.js"></h:outputScript>
<h:outputScript library="js" name="jquery.maskedinput.js"></h:outputScript>
<h:outputScript library="js" name="myapp.validate.js"></h:outputScript>

当我点击Firefox中的脚本选项卡时,我在下拉列表中看不到任何脚本文件.有一条消息显示

If tags have a “type” attribute,it should equal “text/javascript” or “application/javascript”. Also scripts must be parsable (syntactically correct).

更好的我的jquery效果,如鼠标悬停,隐藏,显示等不工作.我尝试使用通常的脚本标签

<script type="text/javascript" src="../js/jquery-1.6.2.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></script>
<script type="text/javascript" src="../js/jquery.maskedinput.js"></script>
<script type="text/javascript" src="../js/myapp.validate.js"></script>

哪个没有用仍然无法找到我的JS文件.我所有的JS文件都放在下面

Web pages
       |_ js
           |_jquery-1.6.2.js,my.validate.js,jquery.validate.js,jquery.maskedinput.js

我尝试了在Using jQuery with JSF 2.0’s resource发布的一个解决方案,但没有成功.

请教我一个解决办法.我不想使用JSF内置验证与ajax,因为我们将代码从JSP移动到JSF,验证已经被写入.我想重用现有的jQuery验证,我以前写过.

解决方法

< h:outputScript> (和< h:outputStylesheet>)从/ resources文件夹加载资源.您需要将脚本放在该文件夹中.
WebContent
|-- resources
|    `-- js
|        |-- jquery-1.6.2.js
|        |-- myapp.validate.js
|        |-- jquery.validate.js
|        `-- jquery.maskedinput.js
|-- WEB-INF
:

那么下面的脚本声明应该起作用:

<h:outputScript name="js/jquery-1.6.2.js" />
<h:outputScript name="js/jquery.validate.js" />
<h:outputScript name="js/jquery.maskedinput.js" />
<h:outputScript name="js/myapp.validate.js" />

(请注意,我省略了库属性,因为名称“js”不表示一个real library)

你的< script>方法失败可能是由于使用不正确的相对路径引起的.您需要意识到资源相对于当前请求URL而不是服务器端磁盘文件系统的路径进行解析.

猜你在找的jQuery相关文章