1

我的问题类似于下一个问题:

必须按两次命令按钮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 表单转移到登录视图中的表单吗?

4

1 回答 1

0

使用 OmniFaces FullAjaxExceptionHandler 解决

http://balusc.blogspot.ru/2012/03/full-ajax-exception-handler.html

于 2013-09-20T12:46:19.643 回答