質問

JSF 1.2 から JSF 2.0 に移行しましたが、切り替え中に何かを見逃していたようです。次のシナリオがあります。

  1. あるページには、actionListener が 1 つのマネージド Bean のメソッドに設定されたボタンがあり、呼び出しによってリクエストするオブジェクトを追加します。 FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("foo", fooObject);
  2. 他のマネージド Bean が初期化される他のページへのナビゲーションが適切に処理されます。
  3. 他のマネージド Bean のコンストラクターは、呼び出してリクエストから渡されたオブジェクトを取得しようとします。 FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("foo"); そして受け取った値で自身を初期化します。

どちらのマネージド Bean もリクエスト スコープです。リクエストマップに「foo」キーが含まれていないため、コンストラクターがリクエストから適切な値を取得できないことに気付きました。

私の何が間違っているのでしょうか?これを行うより良い方法はありますか?

前もって感謝します。

役に立ちましたか?

解決

リダイレクトが別の要求をもたらすように、

は、ステップ2で、リダイレクトがある場合、最初の要求範囲が失われます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top