【问题标题】:Flash scope not working in glassfish with jsf2.1Flash 范围在带有 jsf2.1 的 glassfish 中不起作用
【发布时间】:2012-07-31 06:23:48
【问题描述】:

当我在 glassfish 中使用 flash 范围时,它的寿命比一个请求长,但与 jetty8 一起工作正常,甚至尝试了最新版本的 glassfish,但它不工作。 JSF 有一个关于它的 jira,他们已经在下一个版本中解决了它,我什至为 JSF 尝试了那个版本的 jars,但同样的问题仍然存在于 Glassfish 但适用于 Jetty8。很多天都面临这个问题,任何人都可以对此有所了解吗??

【问题讨论】:

    标签: jsf glassfish


    【解决方案1】:

    Jetty 作为准系统 servletcontainer 没有捆绑任何 JSF 实现,并且始终使用与 webapp 一起提供的实现。

    Glassfish 作为一个成熟的 Java EE 应用程序服务器,捆绑了一个 JSF 实现,默认情况下,与 webapp 一起提供的那个将始终被忽略。如果您想升级 Glassfish 捆绑的 JSF 实现,那么您应该替换 /glassfish/modules 文件夹中的 JAR。或者,如果您想强制 Glassfish 使用 webapp 提供的 JSF 实现,那么您应该将以下条目添加到 /WEB-INF/glassfish-web.xml(或 sun-web.xml,取决于使用的 GF 版本):

    <class-loader delegate="false" />
    <property name="useBundledJsf" value="true" />
    

    【讨论】:

    • 嗨 BalusC 感谢您的回答,但我已经在我的项目中的 sun-web.xml 中添加了这两行,甚至在更改 glassfish/modules 中的 jar 后尝试过,但它仍然存在相同。我的 jsf 版本是 2.1.2。
    • 2.1.2? Mojarra 2.1.7 中修复了大多数与 Flash 范围相关的问题。
    • 对不起 BalusC 但我也尝试过那个版本的 JSF,但同样的问题。 :(
    • 我有同样的问题:Glassfish 3.1.2.2。用 Mojarra 2.1.11 替换了捆绑的 JSF 实现。
    【解决方案2】:

    我有同样的问题。该问题是由 Mojarra(甚至是 2.1.11)无法处理 HTTP 分块引起的。通过禁用它,闪存按预期清空。

    您可以在管理控制台中禁用它

    • 配置
    • 服务器配置
    • 网络配置
    • 协议
    • http-listener-[N]
      • HTTP 选项卡
      • 分块

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 2015-04-22
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 2020-07-19
      相关资源
      最近更新 更多