私の問題は次の問題に似ています:
コマンドボタンを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を転送できますか?