4

我有一个使用 WAS 6.1 开发的旧企业应用程序,现在我的公司正在尝试在 WAS 8 中执行该应用程序的实现。但是我在呈现 JSF 内容时遇到了麻烦,点击 JS 调试器时有一些链接说 Uncaught ReferenceError: myfaces is not defined 作为呈现的 HTML:

onclick="return myfaces.oam.submitForm('top_nav:frmTopNav','top_nav:frmTopNav:lnkCP',null,[['default_sort','name']]);"

所以我认为它渲染得不好,因为我的旧应用程序和 WAS 8 之间的 JSF 版本不同。

现在我决定强制它,用 Tomahawk 1.1.7 下载 MyFaces 1.1 并将它们放在 WEB-INF/lib 文件夹中,现在它说java.lang.IllegalArgumentException - Class org.mything.LocaleViewHandler is no javax.faces.application.ViewHandler

为什么会发生这种情况?

先感谢您。

4

2 回答 2

3

引自 WAS 8 infocenter,配置 JavaServer Faces 实现

如果您想使用产品未附带的第三方 JSF 实现,那么:

  • 将配置设置为 MyFaces。
  • 将第三方侦听器添加到所需的 web.xml 文件中。
  • 将第三方实现 Java 归档 (JAR) 文件作为隔离共享库添加到应用程序,并将其与您的应用程序关联。

在上面引用的页面上,您可以找到有关创建共享库将共享库与应用程序或模块关联的详细信息。

于 2012-07-13T23:28:55.790 回答
0

确保您使用的是PARENT_LAST类加载。

否则它将首先加载自己的 JSF 2.0 库,并且您的类与接口不匹配。您应该检查是否可以更新到 MyFaces 2.0。

于 2012-07-13T22:18:04.410 回答