jsf会话超时循环

jsf会话超时循环,jsf,session,exception,loops,timeout,Jsf,Session,Exception,Loops,Timeout,我对JSF会话处理有一个问题: 起初,每次我都得到一个viewExpiredException: javax.faces.application.ViewExpiredException: viewId:/anyForm.jsf - View /anyForm.jsf could not be restored. 因此,我在我的web.xml文件中添加了以下代码: <error-page> <exception-type>javax.faces.appl

我对JSF会话处理有一个问题: 起初,每次我都得到一个
viewExpiredException

javax.faces.application.ViewExpiredException: viewId:/anyForm.jsf - View /anyForm.jsf could not be restored.
因此,我在我的
web.xml
文件中添加了以下代码:

<error-page>
        <exception-type>javax.faces.application.ViewExpiredException</exception-type>
        <location>/index.jsf?reason=expired</location>
</error-page>
每当我现在得到一个超时,我就会被重定向到
index.jsf
,文本就会显示,但是如果我在输入中输入一个值并按下表单的提交按钮,我仍然会被重定向到我的
index.jsf
。所以,我陷入了一个循环。我也试过这样的方法:

<context-param>
        <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
        <param-value>true</param-value>
</context-param>

也许会有帮助。不,这是我得到“解决方案”的地方。当然,我可以插入一个元刷新,所以我从来没有得到一个超时,但这将是一个糟糕的解决方案…你有没有排除浏览器缓存的嫌疑?另见和
<context-param>
        <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>
        <param-value>true</param-value>
</context-param>
javax.servlet.ServletException: Index: 1, Size: 1
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    java.util.ArrayList.RangeCheck(ArrayList.java:547)
    java.util.ArrayList.get(ArrayList.java:322)
    javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:165)
    javax.faces.component.UIInput.restoreState(UIInput.java:1411)
    com.sun.faces.application.view.StateManagementStrategyImpl$2.visit(StateManagementStrategyImpl.java:276)
    com.sun.faces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:151)
    javax.faces.component.UIComponent.visitTree(UIComponent.java:1589)
    javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
    javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
    javax.faces.component.UIForm.visitTree(UIForm.java:344)
    javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
    javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
    com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:263)
    com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:188)
    com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:452)
    com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:148)
    com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:192)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)