ent*_*tic 15 jquery facelets jquery-validate jsf-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>
Run Code Online (Sandbox Code Playgroud)
当我单击Firefox中的脚本选项卡时,我无法在下拉列表中看到任何脚本文件.有一条消息显示:
如果标签具有"type"属性,则它应该等于"text/javascript"或"application/javascript".脚本也必须是可解析的(语法正确).
我的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>
Run Code Online (Sandbox Code Playgroud)
哪个没用.仍然无法找到我的JS文件.我的所有JS文件都放在
Web pages
|_ js
|_jquery-1.6.2.js,my.validate.js,jquery.validate.js,jquery.maskedinput.js
Run Code Online (Sandbox Code Playgroud)
我尝试了使用jQuery和JSF 2.0资源发布的解决方案之一,但没有成功.
请建议我解决这个问题.我不想在ajax中使用JSF内置验证,因为我们将代码从JSP移到JSF并且已经编写了验证.我想重用我之前写过的现有jQuery验证.
Bal*_*usC 29
在<h:outputScript>
(和<h:outputStylesheet>
从)加载资源/resources
文件夹.您需要将脚本放在该文件夹中.
WebContent
|-- resources
| `-- js
| |-- jquery-1.6.2.js
| |-- myapp.validate.js
| |-- jquery.validate.js
| `-- jquery.maskedinput.js
|-- WEB-INF
:
Run Code Online (Sandbox Code Playgroud)
然后以下脚本声明应该工作:
<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" />
Run Code Online (Sandbox Code Playgroud)
(注意我省略了library
属性,因为名称"js"并不表示真正的库)
您的<script>
方法失败可能是由于使用了错误的相对路径.您需要意识到资源是相对于当前请求URL解析的,而不是它们在服务器端磁盘文件系统中的路径.
归档时间: |
|
查看次数: |
37727 次 |
最近记录: |