0

Spring/facelets アプリケーション用のマルチタブ (JavaScript タブ) インターフェイスを作成しようとしていますが、ウィンドウ (タブ) の配列を保持する sc ウィンドウ マネージャーがあります。各ウィンドウ (タブ) には、ビジネス サービスや DAO Bean などの他の Spring Bean を (インジェクションとして) 受け取る Spring Bean (セッション スコープ) が含まれています。フェイスレット部分に Primefaces p:tabView を使用しています。

ユーザーが新しいタブを作成すると、新しい Spring Bean (ウィンドウ/タブの一部として) が作成され、ウィンドウ マネージャー Bean に追加される必要があります (WindowManager.addWindow(...) には、p:commandButton から収集されたメソッドがあり、ウィンドウ/タブとそのセッションを作成します)。問題は、この Bean を作成して初期化する方法 (注入された Bean を使用) です。1 つの解決策は ctx.getBean("beanName") を呼び出すことかもしれませんが、名前があり、この名前が一意のように見えるため、これを使用することを恐れています。

おそらくSpring Beanのプログラムによる作成は良い設計ではありません(Webリクエストを処理するときにWebサーバー/Springコンテキストで自動的に作成されるはずです)が、私の場合は必要なようです。

4

1 に答える 1