2

我目前正在为部署在 JBoss 4.3.0 中的应用程序将 JSF 版本从 1.2 升级到 2.0。我对 JBoss 还是很陌生,遇到了这个问题。我已经下载了 JSF jars(impl 和 api)并将其放在 jboss-web.deployer/jsf-libs 下。我还将richfaces-impl jar 放在C:\Program Files\Java\richfaces-ui-3.3.3.Final\lib 中。

当我启动服务器时,我在控制台中没有收到任何错误,但我无法浏览该站点。Internet Explorer 给出错误提示“Mojarra 未定义”。在将版本的输出 .html 文件与 jsf 2.0 jar 和 1.2 进行比较时,我注意到 onclick 属性中的函数对于 JSF 2.0 具有 'mojarra.jsfcljs(document.getElementById' 而对于 1.2 它具有 'var b=function (){if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById'.

这个输出文件是如何生成的?如果我能让输出文件具有相同的功能,它会起作用吗?如果没有,那么我该如何解决“mojarra 未定义”问题?我正在开发 MyEclipse Enterprise Workbench 8.0 版。任何帮助将不胜感激。

4

2 回答 2

0

JSF 2.0 在 Jboss 4.x 甚至在 Jboss 5.x 中都不能工作 你需要将你的 Jboss 升级到 6.x 或更高版本。你可以参考这个链接。也就是说,可以通过将 jars 放在 Jboss lib 文件夹中,使 JSF 2.x 在 Jboss 较低版本(如 5.x)上运行。但是,不建议这样做,也不应该这样做。

于 2012-10-10T11:40:56.227 回答
0

我在 Jboss 4.2.2 上使用 JSF 2 的 Mojarra 实现。

您需要在 web.xml 中指定:

<context-param>
  <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
  <param-value>true</param-value>
</context-param>

您还需要在您的战争 jsf 库中提供您要使用的内容。让我知道在 Jboss 4.3.0 上是否可以

于 2012-10-11T08:49:59.770 回答