我有包装器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。
答案 0 :(得分:1)
如果您在会话中同时打开了许多(> 15)页/视图/帧,那么,以下内容可能会有用。
您需要查看:
1。 numberOfViewsInSession:定义支持后退按钮操作的(顶级)视图状态(页面)的数量
2。 numberOfLogicalViews:定义页面中可以显示的逻辑视图(帧)的数量(每个顶级视图)
确保相关的快速操作是将这些数字设置为500,并查看 如果它们相关,那么您可以在以下链接中找到更多信息: