我不知道后台到底是什么,我想知道:(。
复制步骤:
-
获取主页
-
Jaas重定向到登录页面
-
登录。
-
登陆状态良好的页面!
-
等待会话退出
-
刷新页面
-
Jaas重定向到登录页面
-
登录。
-
降落在白色屏幕上。(但重新加载后一切正常!(
通过调试,我评论道,第二次登录后卸载
private UIViewRoot unloadView(FacesContext context, String viewId) {
UIViewRoot createdView = createView(context, viewId);
ResponseStateManager manager = getRenderKit(context).getResponseStateManager();
if (restoreViewRootState(context, manager, createdView)) {
context.setProcessingEvents(true);
context.getApplication().publishEvent(context, PreDestroyViewMapEvent.class, UIViewRoot.class, createdView);
Hacks.removeViewState(context, manager, viewId);
}
else if (isSessionNew(context)) {
redirectPermanent(context, getRequestURIWithQueryString(context));
}
responseComplete(); // This row return with empty page
return createdView;
}
我认为第二次卸载帖子被JAAS捕获,而不是页面GET。但我不知道为什么。
谢谢你的回答!
我的解决方案在客户端。有一个JS方法,它是在sessiontimeout之后调用的。
我把这一行放在那个方法中:
OmniFaces.Unload.disable();