SCRIPT5009:'myfaces' 未定义
SCRIPT5009: 'myfaces' is undefined
我在 WAS8.5.4 服务器上有 JSF2 应用程序 运行,使用库 primefaces-3.4-SNAPSHOT-20120807.jar 和 javax.faces-2.1.9.jar。
在其中一个页面中,我有 p:commandlink 按钮来查看附件。但是当用户单击此组件时,浏览器显示错误 SCRIPT5009:'myfaces' 未定义。结果,用户无法查看文件。
请告知如何解决此问题。
WAS 随 MyFaces 开箱即用,但您试图通过 Web 应用程序提供 Mojarra 来完全覆盖它,显然没有指示 WAS 它应该加载 WAR-bundled JSF 而不是 WAS-bundled JSF.
摆脱 javax.faces-2.1.9.jar
(即 Mojarra)。 WAS 是一个成熟的 Java EE 容器,它已经随 JSF 开箱即用(即 MyFaces)。
您遇到的错误只是一个Java脚本错误。 Java脚本变量 myfaces
未在任何地方定义。它通常在正确加载 MyFaces 时自动定义,并在 JSF 页面中自动包含自己的 jsf.js
JavaScript 文件。当缺少 <h:head>
或 Mojarra 自己的 jsf.js
Java 脚本被自动包含时(您可能已经知道,WAR 中的网络资源有加载优先级高于 JAR 和服务器本身)。 Mojarra 的 jsf.js
确实没有定义变量名 myfaces
。而是 mojarra
。但是,JSF 组件的 HTML 输出由 MyFaces 呈现,在 WAR 有机会加载其捆绑的 Mojarra 之前已由服务器加载,因此它们将呈现并期望 myfaces
Java脚本变量(但如前所述,因此无处可用)。
我在 WAS8.5.4 服务器上有 JSF2 应用程序 运行,使用库 primefaces-3.4-SNAPSHOT-20120807.jar 和 javax.faces-2.1.9.jar。 在其中一个页面中,我有 p:commandlink 按钮来查看附件。但是当用户单击此组件时,浏览器显示错误 SCRIPT5009:'myfaces' 未定义。结果,用户无法查看文件。 请告知如何解决此问题。
WAS 随 MyFaces 开箱即用,但您试图通过 Web 应用程序提供 Mojarra 来完全覆盖它,显然没有指示 WAS 它应该加载 WAR-bundled JSF 而不是 WAS-bundled JSF.
摆脱 javax.faces-2.1.9.jar
(即 Mojarra)。 WAS 是一个成熟的 Java EE 容器,它已经随 JSF 开箱即用(即 MyFaces)。
您遇到的错误只是一个Java脚本错误。 Java脚本变量 myfaces
未在任何地方定义。它通常在正确加载 MyFaces 时自动定义,并在 JSF 页面中自动包含自己的 jsf.js
JavaScript 文件。当缺少 <h:head>
或 Mojarra 自己的 jsf.js
Java 脚本被自动包含时(您可能已经知道,WAR 中的网络资源有加载优先级高于 JAR 和服务器本身)。 Mojarra 的 jsf.js
确实没有定义变量名 myfaces
。而是 mojarra
。但是,JSF 组件的 HTML 输出由 MyFaces 呈现,在 WAR 有机会加载其捆绑的 Mojarra 之前已由服务器加载,因此它们将呈现并期望 myfaces
Java脚本变量(但如前所述,因此无处可用)。