Web ページに 2 つのリンクがあり、1 パイントを appserver/?dept=1 にリンクし、2 つ目のリンクは appserver/?dept=2 です。次に、JSF フェーズ リスナーがあり、そこでバックエンド Bean を取得し、Bean パラメーターとして dept1 または dept2 を設定して、さまざまな部門のコンテンツをレンダリングできます。ユーザーが上記の Web ページから 2 つのウィンドウを起動すると、dept1 ウィンドウの内容が dept2 ウィンドウに移動する可能性があります。すべてめちゃくちゃ。(デスクトップ ショートカットからブラウザを起動する場合は、上記のリンクを入力します。2 つのセッションが作成され、2 つの異なるバックエンド Bean インスタンスが作成されるため、問題ありません)。
主な理由は、JSF ストア バック Bean がセッションにあるため、同じ親ウィンドウから同じセッション ID (Cookie) を共有し、同じバックエンド Bean クラス インスタンスを使用した 2 つのウィンドウです。結果のレンダリング時に、結果はどちらのウィンドウにも表示されます。
このウィンドウ クロス コンテンツの状況を回避するにはどうすればよいですか? これは、ずっと前に解決されるべき基本的な Web アプリの問題のようです。または、私は本当に間違ったことをしているかもしれません。
Seam 変換を試みましたが、助けはありません。JSF2.0 にはビュー スコープ、CDO があります。それは助けることができます線量?諸事情によりまだJSF2.0に移行できません。JAVA6、Tomcat6.20、Icefaces を使用しています。任意のヘルプが割り当てられます。