我有包装器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和MyFaces 2.0.7在WebSphere 7.0上运行
如果在会话中同时打开了多个(>15)页/视图/帧,那么下面的命令可能会很有用。
你需要看一下:
1。numberOfViewsInSession:定义支持后退按钮操作的(顶级)视图状态(页面)的数量
2。numberOfLogicalViews:定义可以在页面中呈现的逻辑视图(帧)的数量(每个顶层视图)
确定是否相关的一个快速操作是将这些数字设置为500,然后查看如果它们是相关的,那么,您可以在以下链接中找到更多信息:
http://www.java.net/node/681211numberOfViewsInSession和多个选项卡的问题