SCRIPT5009:' myfaces'未定义

时间:2015-05-14 18:10:04

标签: jsf primefaces internet-explorer-10 websphere-8 commandlink

我使用库primefaces-3.4-SNAPSHOT-20120807.jar和javax.faces-2.1.9.jar在WAS8.5.4服务器上运行JSF2应用程序。 在其中一个页面中,我有p:commandlink按钮来查看附加的文档。但是当用户点击这个组件时,浏览器显示错误SCRIPT5009:' myfaces'未定义。因此,用户无法查看文档。 请告知如何解决此问题。

1 个答案:

答案 0 :(得分:1)

WAS附带了MyFaces,但是你通过webapp提供Mojarra,试图完全覆盖它,显然没有指示它应该加载WAR捆绑的JSF而不是WAS捆绑的JSF。

摆脱javax.faces-2.1.9.jar(那个Mojarra)。作为一个完整的Java EE容器,WAS已经开箱即用(这是MyFaces)。

您遇到的错误只是一个JavaScript错误。 JavaScript变量myfaces未定义。它通常在MyFaces正确加载时自动定义,并在JSF页面中自动包含其自己的jsf.js JavaScript文件。如果缺少<h:head>,或者Mojarra自己的jsf.js JavaScript被自动包含(您可能已经知道,WAR中的Web资源具有比那些更高的加载优先级),则可能会发生故障在JAR和服务器本身)。 Mojarra的jsf.js确实没有定义变量名myfaces。它改为mojarra。但是,JSF组件的HTML输出由MyFaces呈现,在WAR有机会加载其捆绑的Mojarra之前,它已经由服务器加载,因此它们将呈现并期望myfaces JavaScript变量(但是因此无法解释,如所解释的那样。