8.4. 長期実行の対話の必要
ページの中には長期実行の対話のコンテキストにのみ関連している特定のページがあります。 このようなページへのアクセスを制限する方法のひとつとして、長期実行の対話の存在がレンダリングされているページの必須条件とする方法があります。
Seam のページ記述子には
conversation-required 属性があり、 ページのレンダリングが行われるには現在の対話が長期実行で (またはネストされている) なければならないことを示すことができます。
<page view-id="/book.xhtml" conversation-required="true"/>
<page view-id="/book.xhtml" conversation-required="true"/>
注記
現時点では、どの長期実行の対話が必要かを示すことはできませんが、ページアクション内の対話に特定の値が存在しているかどうかを確認することで基本的な承認を構築することができます。
長期実行の対話が存在しないがページが要求されたことを Seam が確定すると次のアクションが実行されます。
org.jboss.seam.noConversationというコンテキスト依存イベントを発生させます。org.jboss.seam.NoConversationバンドルキーを持つ警告ステータスのメッセージを登録します。- 次のように、
no-conversation-view-id属性で定義されている場合はユーザーを代替となるページにリダイレクトします。<pages no-conversation-view-id="/main.xhtml"/>
<pages no-conversation-view-id="/main.xhtml"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このページはアプリケーション全体で使用されます。 現在、 代替ページを複数定義することはできません。