您好我在Tomcat 6上使用Primefaces 3.0获得了一个基于MyFaces 2.0.11的简单新项目
当我尝试导航到某个页面时,我收到Uncaught ReferenceError: jsf is not defined
错误,该错误指示我使用我的js代码jsf.ajax.addOnEvent
中的参考...(这是合理的,因为我正在尝试使用jsf.js并且它不是事件我是我的页面..)
如果我查看了我的页面的来源,我就不包含jsf.js
文件
现在,如果我像这样手动添加它
<h:outputScript name="jsf.js" library="javax.faces" target="head"/>
每件事情都很好......但我不想手动包含它,相反我想知道导致我页面中缺少jsf.js的原因是什么
我谷歌一段时间没有相似的案例代表我的
我有<h:head>
和<h:body>
我的页面非常简单......
任何想法?
答案 0 :(得分:8)
只有在视图中使用<f:ajax>
时,才会自动包含此脚本。如果不这样做,则不会自动包含它。
在致电jsf.ajax.addOnEvent
之前添加额外的支票:
if (typeof jsf !== 'undefined') {
jsf.ajax.addOnEvent(someFunctionName);
}
或者,在<h:outputScript>
上明确地将library
包含在库中,就像您已经做过的那样。