页面重新加载后PrimeFaces ViewExpiredException

时间:2013-03-06 16:04:41

标签: javascript jsf primefaces reload myfaces

我有包装器PrimeFaces.ajax.AjaxResponse来处理ViewExpiredException(重新加载页面):

var handleViewExpired = function (viewId) {
    window.alert('${msg.ajax.viewExpired}');
    window.location.reload();
};

但是,有时在尝试点击在网站上调用AJAX请求的任何内容后,我反复收到该错误:

javax.faces.application.ViewExpiredException: /tree.xhtmlNo saved view state could be found for the view identifier: /tree.xhtml
    at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)

我是否以错误的方式刷新?如何调用整页重新加载,例如在浏览器中单击重新加载?我是否需要删除cookie(JSESSIONID,oam.Flash.RENDERMAP.TOKEN)?

我正在使用PrimeFaces 3.5和在WebSphere 7.0上运行的MyFaces 2.0.7。

1 个答案:

答案 0 :(得分:1)

如果您在会话中同时打开了许多(> 15)页/视图/帧,那么,以下内容可能会有用。

您需要查看:

1。 numberOfViewsInSession:定义支持后退按钮操作的(顶级)视图状态(页面)的数量

2。 numberOfLogicalViews:定义页面中可以显示的逻辑视图(帧)的数量(每个顶级视图)

确保相关的快速操作是将这些数字设置为500,并查看 如果它们相关,那么您可以在以下链接中找到更多信息:

http://www.java.net/node/681211

Problem with numberOfViewsInSession and multiple tabs