0

f:viewParamJSF 2 では、id や Strings など、または のいずれかを使用してリクエスト パラメータとして送信できるその他のものを渡すことができます@ManagedProperty(つまり、ここで説明します)。

ただし、view1 から view2 へ、ビュー間でオブジェクトを渡したいと思います。私のバッキング Bean は@ViewScoped. 私は次のことを試しました:

<f:setPropertyActionListener value="#{view1Bean.myObject}" target="#{view2Bean.myObject}" />

これにより、view2Beanビュー 1 に が作成されますが、ビュー 2 を表示するときには存在しません。の特定のインスタンスでプロパティが設定されていないため、はview2Bean.myObjectです。nullview2bean

まさにこのためのツールと思われる Flash スコープの使用を検討しました。しかし、私が使用している Mojarra では BalusC が壊れているとどこかで読んだことがあります。

ビュー間でオブジェクトをやり取りする最良の方法は何ですか?

4

1 に答える 1

1

ただし、view1 から view2 へ、ビュー間でオブジェクトを渡したいと思います。

オブジェクトの一意の ID をパラメーターとして次のビューに渡し、Converter<f:viewParam>.

<f:viewParam name="id" value="#{bean.entity}" converter="entityConverter" />

まさにこのためのツールと思われる Flash スコープの使用を検討しました。しかし、私が使用している Mojarra では BalusC が壊れているとどこかで読んだことがあります。

現在の Mojarra バージョンでは、Flash Cookie の仕組みにより、ビューが別のパス (フォルダー) にある場合にのみ失敗します。それらが同じパス (フォルダー) にある場合は、問題なく動作するはずです。

于 2012-06-15T12:54:44.373 に答える