【问题标题】:Implementing JSF 2.0 with JBoss 4.x使用 JBoss 4.x 实现 JSF 2.0
【发布时间】:2012-09-30 11:07:16
【问题描述】:

我目前正在为部署在 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 版。任何帮助将不胜感激。

【问题讨论】:

    标签: jsf-2 jboss jsf-1.2


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我在 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 上是否可以

      【讨论】:

      • 嘿,谢谢!但它仍然不起作用。还是同样的错误,mojarra 没有定义。我更改了 faces-config.xml 的版本,从 web.xml 和 faces-config.xml 中注释掉了 view_handler 部分,并从 WEB-INF\lib 中删除了 jsf-facelets.jar,现在当我开始访问它的 url给出以下错误:
      • 09:58:35,026 INFO [STDOUT] 09:58:35,026 错误 [BaseXMLFilter] 过滤器链 javax.servlet.ServletException 中的异常:Orchestra 无法创建名为“AccessScopeManager”的 bean 实例'。确保 JSF 变量解析使用您的依赖注入 (DI) 框架(例如 Spring 的 DelegatingVariableResolver 在您的 faces-config.xml 文件中)并且定义了标准的 Orchestra 配置 bean(例如通过使用 )。在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
      • 好的,转到\server\default\deploy\jboss-web.deployer\conf 并编辑 web.xml 文件。关于 JSF &lt;context-param&gt; &lt;param-name&gt;com.sun.faces.injectionProvider&lt;/param-name&gt;&lt;listener-class&gt;org.jboss.web.jsf.integration.config.JBossJSFConfigureListener&lt;/listener-class&gt;&lt;listener&gt; &lt;listener-class&gt;com.sun.faces.application.WebappLifecycleListener 的评论行并从您的 web.xml 中删除您的 webbApps &lt;param-name&gt;org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL&lt;/param-name&gt;
      • remplace 也在server\default\deploy\jboss-web.deployer\jsf-libs jsf jars 中(不要忘记用初始名称重命名 jar)
      猜你喜欢
      • 2019-03-16
      • 1970-01-01
      • 2014-12-26
      • 2015-01-19
      • 2013-12-09
      • 1970-01-01
      • 2011-08-10
      • 2011-07-03
      • 2012-05-18
      相关资源
      最近更新 更多