1

私の問題は次の問題に似ています:

コマンドボタンを2回押してhttp://balusc.blogspot.ru/2011/09/communication-in-jsf-20.html#AjaxRenderingOfContentWhichContainsAnotherFormを押す必要があります

しかし

ログインボタン(2回クリックする必要があります)とajaxフォームは、異なるビュー(ログインビュー(ログインボタンのあるビュー)とメインビュー(ajaxを使用していずれかを切り替えるビュー)にあります。このビューの一部))。

フロー(どのように発生するか)は次のとおりです。

セッションの有効期限が切れて、いくつかのajaxアクションを実行しようとすると、AjaxExceptionHandlerが次のコードを使用してログインビュー( "loginViewExpired")に移動します。

facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext, null, "loginViewExpired");
facesContext.renderResponse();

そして、ここにいるのは、ログインビューでログインボタンを2回クリックする必要があるためです。これは、javax.faces.ViewStateの非表示の入力フィールドがログインフォームに追加されていないためです(BalusCブログから理解できます)。

助言がありますか?どういうわけか、別のビューのajaxフォームからログインビューのフォームにViewStateを転送できますか?

4

1 に答える 1

0

OmniFacesFullAjaxExceptionHandlerを使用して解決

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

于 2013-09-20T12:46:19.643 に答える