必须单击JSF h:commandButton两次; AJAX;按钮处于另一个视图中

时间:2012-12-07 10:27:44

标签: ajax jsf

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

have to press command button twicehttp://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传输到我的表单吗?

1 个答案:

答案 0 :(得分:0)

使用OmniFaces FullAjaxExceptionHandler

解决

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