私が欲しいのは、タブ/ウィンドウごとに異なるセッション Bean です。セッション Bean が機能することはわかっていますが、新しいタブ用に新しいセッション Bean を作成したいと考えています。以下は、新しいセッション Bean が必要な理由です。
page1 にユーザーのリストがあるとします。ユーザーをクリックすると、ページ2にユーザーの詳細が表示されます。
ここで、2 つのタブがあるとします。両方のページに page1.xhtml があります。tab1 で、ユーザー A をクリックしました。page2.xhtml にユーザー A の詳細が表示されます。次に、tab2 に移動します。tab2 で、User B をクリックしました。page2.xhtml に User B の詳細が表示されます 問題は今ここにあります。ここで、tab1 に戻って page2.xhtml を更新すると、ユーザー B の詳細が表示されますが、以前はユーザー A の詳細が表示されていたため、正しくありません。
したがって、私が欲しいのは、新しいタブ/ウィンドウごとの新しいセッションビーンです。
タブ/ウィンドウごとに新しいセッション Bean を作成する方法はありますか? プライムフェイスかアイスフェイスか?
ViewScope が解決策だと思っていましたが、そうではありませんでした。BalusCの記事を参照します。
@ViewScoped:このスコープの Bean は、ブラウザの window/tab で同じ JSF ビューを操作している限り存続し ます。HTTP リクエストで作成され、別のビューにポストバックすると破棄されます。
SessionBean とは、ブラウザ セッション (履歴) ではなく、Java/JSF 管理のセッション管理 Bean を意味します。