私は最近 Seam を使用していますが、一時的な会話にはまだ混乱しています。
私たちのプロジェクトではExternalContext.redirect()
、ユーザーを応答ページにリダイレクトするために使用しています。私が読んだところによると、Seam の会話は、応答のレンダリング フェーズが呼び出されると終了します。
しかし、別の場所で次のように読みました: Seam は JSF のポストバックとリダイレクトを介して会話コンテキスト (一時的な会話コンテキストを含む) を透過的に伝搬します。
したがって、同じページにリダイレクトすると、commandLinks のアクション URL には常に同じ conversationId が追加されます。ページにあるように、一時的な会話を終了しようとしました <f:param name="conversationPropagation" value="none"/>
が、リダイレクトされたページがレンダリングされると、会話コンテキストはすでに fred になり、使用している Bean は応答で使用できなくなります。
だから私が知りたいのは、リダイレクトで会話を終了し、応答のレンダリングまでコンテキストを維持する方法があるかどうかということですか?
そうでない場合、一時的な会話はいつ終了しますか? 会話のコンテキストはリダイレクトとポストバックを介して伝播されるため、終了することはありません。