@WindowScoped
複数のタブをサポートするために非常に便利な注釈を使用する Deltaspike を使用する CDI アプリケーションがあります。アプリケーションのシナリオは次のとおりです。
- ユーザーはリストから項目を選択し、[編集] をクリックします。
- ユーザーはオブジェクトに対して認証します。
- 編集中のオブジェクトの ID と認証されたユーザーのユーザー名は、ウィンドウ スコープに対して保存され、システムの編集セクション内のすべてのページで使用できます。
- ユーザーがこのオブジェクトへのアクセスを終了したら、[終了] をクリックすると、このオブジェクトとのセッションが閉じられます (
@WindowScoped
Bean が消去されます)。
ユーザーが新しいタブを開き、編集する新しいオブジェクトを選択すると、ID と認証の詳細が新しい@WindowScoped
オブジェクトに対して保存されるため、すべてが完全に機能します。
ただし、複数の編集ページがあるため、ユーザーは右クリックしてリンクを新しいタブで開くこともできます。@WindowScoped
新しいBean はそれが作成されたコンテキスト (基本的には前のセッションのオブジェクト ID とユーザー名) について何も知らないため、これは失敗します。
@WindowScoped
以前のウィンドウ スコープ オブジェクトにアクセスする方法はありますか? または、ウィンドウ スコープの Bean 間で情報を共有する一般的な方法はありますか?
アドバイスをありがとう!