我的问题类似于下一个问题:
必须按两次命令按钮 和 http://balusc.blogspot.ru/2011/09/communication-in-jsf-20.html#AjaxRenderingOfContentWhichContainsAnotherForm
但
我的登录按钮(我必须单击两次)和ajax 表单位于不同的视图中(我有登录视图(带有登录按钮的视图)和主视图(我使用 ajax 来切换其中一个)此视图的部分内容))。
这是流程(它是如何发生的):
当会话过期并且我尝试进行一些 ajax 操作时,我的 AjaxExceptionHandler 使用以下代码将我导航到登录视图(“loginViewExpired”):
facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext, null, "loginViewExpired");
facesContext.renderResponse();
我在这里,在我的登录视图中,我必须单击登录按钮两次,因为 javax.faces.ViewState 隐藏输入字段未添加到我的登录表单中(据我了解,来自 BalusC 博客)
有什么建议么?我可以以某种方式将 ViewState 从另一个视图中的 ajax 表单转移到登录视图中的表单吗?