2011-06-26 6 views

答えて

2

リクエストスコープまたはセッションスコープのデータを、アプリケーションスコープに配置されたマネージドBeanに格納しないでください。また、Bean自体の長さがstaticである限り、要求またはセッションスコープBeanのプロパティを宣言しないでください。

基本的なサーブレットAPIと変わらないフードの下にあります。

+0

@BalusC:アプリケーションでは、アプリケーションスコープに配置されたマネージドBeanに要求またはセッションスコープのデータを格納していません。アプリケーションを使用しているクライアントが2つある場合は、同じセッション属性にアクセスしています。これはカスタムスコープのBeanを使用して解決できますか? – user679526

+0

物理的に異なる2つのクライアントが同じセッション変数にアクセスする場合、セッションBeanの 'static'プロパティとして格納されている可能性があります。または、あなたが "セッション"の概念を誤解し、**同じ**ブラウザインスタンスの2つの異なるウィンドウまたはタブが別のセッションを表すと間違って想定しただ​​けです。複数のクライアントをテストする場合は、**物理的に異なる**マシンやウェブブラウザ(FirefoxやChromeなど)を使用して**テストする必要があります。 – BalusC

+0

@BalusC:同じWebブラウザ上でhttp:// app:7001/bank Aとhttp:// app:7001/bank Bの2つの異なるクライアントサイト(同じアプリケーションを使用する)を開くと、クライアントは両方とも同じセッションID。同じブラウザで開いた場合、どのように異なるセッションIDを持つことができますか? – user679526

1

JSF 2.0は、ユーザーインターフェイスの作成方法を提供するのに役立ち、リクエスト、セッション、またはアプリケーションなどのハンドルスコープの組み込みアノテーションをいくつか備えています。シンプルなシナリオでは、リクエスト、ビュー、フラッシュ、およびセッションスコープを使用できます。しかし、もっと精巧なものが必要な場合は、よく知られた会話の範囲(春が必要です)を提供するを見てください。MyFaces CODIをご覧ください。これは、豆の検証、スクリプト、ウィンドウの範囲などを提供します。 CODIは、CDI-JSR 299の標準に準拠しているため、新しいJSF Webアプリケーションに最適です。いくつかの便利な機能があります。

CODIから始める最も良い方法はMyFaces CODI Wikiであり、MyFaces Users and Dev Mailing listsで質問することもできます。