私はどの範囲を使用すべきか混乱しています。JSF 2:どのようなスコープを使用しますか?
ここでは、ページの閲覧 - ページヘッダー - ページの詳細など、その詳細のヘッダー - ページのサブディテールの4つのレベルからなるモジュールがあります。自分のマネージドビーンが各ページにあると思っています。
レベル4(サブ詳細ページ)の最も深いレベルは、外部レベルの他のすべてのマネージドビーンの状態にアクセスできます。レベル3(詳細ページ)は、レベル2のマネージドビーンの状態(ヘッダーページ)とレベル1のマネージドビーンの状態(ブラウズ)にアクセスできます。深いレベルのページは、外側のレベルで他の状態にアクセスする必要があるため
外managedbeanの文句を言わないが、より深いmanagedbeanの状態行うことはありませんリクエストスコープを使用して
にアクセスすることができます。
セッションスコープを使用しますが、ユーザーが無関係の他のプログラムモジュールに切り替えるとメモリが消費され、未使用のBeanはセッション中はメモリに残ります。また、これらのページのチェーンを別のタブで開くこともできません。
ウィザードスタイルのページやクイズページのような明確なbegin()とend()がありませんので、会話スコープを使用すると混乱します。ユーザーはこれらのページを使用してn個前のページに戻り、任意のページでアクションを実行できます。
ビュースコープの使用は可能ですが、あるページから別のページに渡すパラメータを使用する必要があります。より深いレベルのBeanは外部Beanにアクセスできませんが、前のページから文字列パラメータを受け取ることができます。これは以前の管理対象Beanで実行された可能性があるデータベースの多くの情報を再度照会する必要があるかもしれないので、これはちょっと醜いです。
私は間違っていると思いますか?
あなたの考えをお伝えください。
は、JSF 2の新しいフラッシュスコープはあなたを助けるかもしれない
アルバート・カム
パラメータを使用して、HTTPリクエストパラメータについて話していますか? – BalusC
あるビュースコープから別のビュースコープにビューパラメータを渡すと、ソースページのh:buttonとf:paramのネスト、f:viewParamのネストf:viewParamの出力が目的のページにあります。私自身は確かではありませんが、ビューのスコープ内のあるページから別のページにパラメータを渡すために今私が考えることができるものだけです。 – bertie