什么可能导致浏览器控制台中的"jsf未定义"错误

Dan*_*iel 9 javascript jsf-2

嗨我在Tomcat 6上有一个基于MyFaces 2.0.11和Primefaces 3.0的简单新项目

当我试图导航到一个页面时,我收到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>我的页面非常简单......

有任何想法吗?

Bal*_*usC 8

只有<f:ajax>在视图中使用时,才会自动包含此脚本.如果不这样做,则不会自动包含.

只需在致电前添加额外的支票jsf.ajax.addOnEvent:

if (typeof jsf !== 'undefined') {
    jsf.ajax.addOnEvent(someFunctionName);
}
Run Code Online (Sandbox Code Playgroud)

或者,正如您已经做的那样明确地将库包含在<h:outputScript>正确的库library中.