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