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

我想在JSF中使用jQuery Validate插件进行客户端表单validation。 我发现导入资源的基本困难。

在我的JSF页面中,我有

    

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

如果标签具有“type”属性,则它应该等于“text / javascript”或“application / javascript”。 脚本也必须是可解析的(语法正确)。

我的jquery效果如鼠标hover,隐藏,显示等不起作用。 我试过通常的脚本标签

     

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

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

我尝试了使用jQuery和JSF 2.0资源发布的解决方案之一,但没有成功。

请建议我解决这个问题。 我不想在ajax中使用JSF内置validation,因为我们将代码从JSP移到JSF并且已经编写了validation。 我想重用我之前编写的现有jQueryvalidation。

(和 )从/resources文件夹加载资源。 您需要将脚本放在该文件夹中。

 WebContent |-- resources | `-- js | |-- jquery-1.6.2.js | |-- myapp.validate.js | |-- jquery.validate.js | `-- jquery.maskedinput.js |-- WEB-INF : 

然后以下脚本声明应该工作:

     

(注意我省略了library属性,因为名称“js”并不表示真正的库 )

您的方法失败可能是由于使用了错误的相对路径。 您需要意识到资源是相对于当前请求URL解析的,而不是它们在服务器端磁盘文件系统中的路径。