Viewexpiredexception:找不到标识符的保存视图状态。虽然我在web.xml中使用了client

时间:2014-05-07 11:47:38

标签: jsf-2 tomcat7

我在JSF中开发了一个工具,UI中有.xhtml。该工具在eclipse中工作正常。一旦我在生产服务器中部署,我得到了VIEWEXPIRED异常经常[no saved view state would be found for the identifier:]。一旦我清除了饼干并运行工具,工具就会被甩掉70%。

我在faces-config中使用了托管bean中的@view范围。 所以我做了改变 在STATE_SAVING_METHOD中使用web.xml作为客户。

虽然我部署并重启服务器仍然面临同样的问题。 我和这个问题坐了一个多星期。 任何人帮我解决这个问题。 请在jsf本身解决这个问题,帮助我。

感谢您提前。

1 个答案:

答案 0 :(得分:0)

请你看看这个帖子(万一你错过了这个链接):[jsf vewexpiredexception] [1]

我也遇到了同样的问题。获得此异常可能有多种原因。 bean的范围不应该在这方面发挥作用。 解决方案1.在web.xml中添加此代码

<context-param>
    <param-name>com.sun.faces.numberOfViewsInSession</param-name>
    <param-value>150</param-value>
</context-param>

<context-param>
    <param-name>com.sun.faces.numberOfLogicalViews</param-name>
    <param-value>150</param-value>
</context-param>

默认为15,你可以使用更高的值。

解决方案2:将此行添加到web.xml,默认为服务器,将其更改为客户端

<context-param>
 <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>

对我来说,第一个解决方案有效。