我有一个 Java EE 应用程序,我在其中使用 JSF2 + PrettyFaces + EBJ3 + Glassfish
我最近刚刚更新到 Glassfish4,它是 Java EE 7 的默认服务器实现,我开始遇到 PrettyFaces 的问题。
我在 faces-config.xml 上进行了配置:
<lifecycle>
<phase-listener>com.ocpsoft.pretty.faces.event.MultiPageMessagesSupport</phase-listener>
</lifecycle>
使 Faces 消息能够正确传递并显示在屏幕上。
但自从我从 Glassfish3 升级到 4 后,我开始遇到这个问题:
java.lang.IllegalStateException:提交响应后无法创建会话...
at com.ocpsoft.pretty.faces.util.FacesMessagesUtils.saveMessages(FacesMe
ssagesUtils.java:56)
at com.ocpsoft.pretty.faces.event.MultiPageMessagesSupport.afterPhase(Mu
ltiPageMessagesSupport.java:66)
如果我从 faces-config.xml 中删除侦听器,则屏幕上不会显示任何 Faces 消息。
我正在使用 PrettyFaces 来获得格式良好的 URL,以增强我网站上的 SEO。我希望我不必替换它或重构我的应用程序以不使用它,因为我已经使用它映射了很多导航流。有人知道这种情况的更好选择吗?我真的很感激任何建议。谢谢。