0

@WindowScoped複数のタブをサポートするために非常に便利な注釈を使用する Deltaspike を使用する CDI アプリケーションがあります。アプリケーションのシナリオは次のとおりです。

  1. ユーザーはリストから項目を選択し、[編集] をクリックします。
  2. ユーザーはオブジェクトに対して認証します。
  3. 編集中のオブジェクトの ID と認証されたユーザーのユーザー名は、ウィンドウ スコープに対して保存され、システムの編集セクション内のすべてのページで使用できます。
  4. ユーザーがこのオブジェクトへのアクセスを終了したら、[終了] をクリックすると、このオブジェクトとのセッションが閉じられます ( @WindowScopedBean が消去されます)。

ユーザーが新しいタブを開き、編集する新しいオブジェクトを選択すると、ID と認証の詳細が新しい@WindowScopedオブジェクトに対して保存されるため、すべてが完全に機能します。

ただし、複数の編集ページがあるため、ユーザーは右クリックしてリンクを新しいタブで開くこともできます。@WindowScoped新しいBean はそれが作成されたコンテキスト (基本的には前のセッションのオブジェクト ID とユーザー名) について何も知らないため、これは失敗します。

@WindowScoped以前のウィンドウ スコープ オブジェクトにアクセスする方法はありますか? または、ウィンドウ スコープの Bean 間で情報を共有する一般的な方法はありますか?

アドバイスをありがとう!

4

0 に答える 0