首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理ViewExpiredException (JSF2.1、Seam2、Primefaces 3.4.1、Omnifaces 1.3)

处理ViewExpiredException (JSF2.1、Seam2、Primefaces 3.4.1、Omnifaces 1.3)
EN

Stack Overflow用户
提问于 2013-01-26 00:48:26
回答 1查看 1.2K关注 0票数 2

我在尝试使用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中:

代码语言:javascript
复制
<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

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-01 23:07:38

非常感谢您的回复。我终于解决了这个问题。

我不太清楚为什么,但是pages.xml文件的标记"pages“中的这个属性login-view-id="/login.xhtml”避免了这个代码的“处理”:

代码语言:javascript
复制
<exception class="org.jboss.seam.security.NotLoggedInException">
  <redirect view-id="/login.xhtml">
     <message>Debe loguearse para continuar</message>
  </redirect>

在我删除了NotLoggedInException -view-id属性之后,就开始处理登录视图了,但是一旦我登录了,我仍然有同样的问题,所以我添加了,最终解决了这个问题,所以完整的标签如下所示:

代码语言:javascript
复制
<exception class="org.jboss.seam.security.NotLoggedInException">
   <end-conversation/>
  <redirect view-id="/login.xhtml">
     <message>Debe loguearse para continuar</message>
  </redirect>

非常感谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14526449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档