我在尝试使用JSF2.1,Seam2.3,PrimeFaces3.4.1,OmniFaces1.3框架正确处理ViewexpiredException时遇到了严重的问题。
在这里,您可以看到我在primefaces论坛上发布的关于我问题的完整解释:http://forum.primefaces.org/viewtopic.php?f=3&t=28215
在这篇文章中,我被告知要尝试omnifaces (我现在正在尝试这样做)。所以我在我的项目中配置了它(不确定是否正确)。
我将此代码添加到faces-config.xml中:
<application>
<...>
<resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler>
<...>
</application>
<factory>
<render-kit-factory>org.omnifaces.renderkit.Html5RenderKitFactory</render-kit-factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>一切似乎都正常,FullAjaxExceptionHandlerFactory似乎试图处理这个问题,并试图重定向到登录页面(参见我在primefaces论坛上的上一篇文章),但是应用程序被冻结了,没有什么真正的事情发生,我不太确定我是犯了一个错误还是什么。
我已经尝试了几乎所有我在互联网上找到的解决方案,似乎对我都不起作用,当一些东西似乎起作用时,我在登录后得到这个页面(我被重定向导致会话中断):http://img831.imageshack.us/img831/7459/pic4w.png
提前感谢
发布于 2013-02-01 23:07:38
非常感谢您的回复。我终于解决了这个问题。
我不太清楚为什么,但是pages.xml文件的标记"pages“中的这个属性login-view-id="/login.xhtml”避免了这个代码的“处理”:
<exception class="org.jboss.seam.security.NotLoggedInException">
<redirect view-id="/login.xhtml">
<message>Debe loguearse para continuar</message>
</redirect>
在我删除了NotLoggedInException -view-id属性之后,就开始处理登录视图了,但是一旦我登录了,我仍然有同样的问题,所以我添加了,最终解决了这个问题,所以完整的标签如下所示:
<exception class="org.jboss.seam.security.NotLoggedInException">
<end-conversation/>
<redirect view-id="/login.xhtml">
<message>Debe loguearse para continuar</message>
</redirect>
非常感谢!
https://stackoverflow.com/questions/14526449
复制相似问题