No saved view state could be found for the view identifier

解决方法:

javax.faces.application.ViewExpiredException:No saved view state could be found for the view identifier 

As you probably already know, JSF is storing the view state of your page in session. Obviously, when the session has timed out, it can’t restore the view state and so throws a ViewExpiredException. 

The solution for this problem is to add the following lines in your web.xml file: 


<context-param> 
  <param-name>facelets.BUILD_BEFORE_RESTORE</param-name> 
  <param-value>true</param-value> 
</context-param> 


When this initialization parameter is turned on, it changes ViewHandler.restoreView() to build the view before asking the StateManager for help. 

However, if you are using RichFaces, for some reason this is breaking a few Ajax components! 
To be honest with you, I didn’t investigate in depth why these components don’t work with this parameter set to true. 

posted @ 2013-09-02 22:32  helloLi  阅读(805)  评论(0编辑  收藏  举报