JSF1054:RESTORE_VIEW 1会话超时和重定向后抛出异常

时间:2014-01-23 09:40:50

标签: jsf richfaces seam jsf-1.2 ajax4jsf

我对使用JSF 1.2 / Richfaces 3.3.3

的Seam 2.2.2 Web App有疑问

要处理会话超时,我在pages.xml中使用以下内容......

<exception class="javax.faces.application.ViewExpiredException" log="false">
    <end-conversation/>
    <redirect />
</exception>

因此,如果用户未登录,则会刷新页面,如果他们已登录,则会将其退回到我们的登录页面(由于其他重定向规则)

还在web.xml中配置

<context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>false</param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>
 <context-param>
  <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
  <param-value>com.sun.facelets.FaceletViewHandler</param-value>
 </context-param>
 <context-param>
  <param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
  <param-value>Mojarra-1.2</param-value>
 </context-param>

这工作正常并完成工作,但我遇到的问题是如果会话到期并且用户尝试执行ajax更新(例如,单击a4j:commandButton / a4j:commandLink),则抛出以下异常:< / p>

2014-01-22 21:46:23,326 SEVERE [javax.enterprise.resource.webcontainer.jsf.lifecycle] (ajp-0.0.0.0-8009-11) JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@10fd6ac]

用户仍然被重定向,所以他们实际上看不到任何不好的事情,但我仍然记录了SEVERE错误。我知道我可以压制错误,但我想知道是否有办法抓住它/防止它被抛出。

有什么建议吗?

由于

0 个答案:

没有答案