私はグリッドといくつかの詳細フィールドで構成されるJSFフォームを持っています。詳細フィールドには、グリッド内の最初の行のデータが含まれます。私は、グリッドの行の選択を聞くバッキングBeanを持っていて、新しい値を表すために詳細フィールドのバッキングBeanを更新します。ここでは問題が発生します。必要に応じて詳細フィールドを更新します(リスナはApplyRequestValuesPhase
で呼び出されます)が、後でJSFフレームワークはUpdateModelValuesPhase
で古い値を再設定します。UpdateModelValuesPhaseの前にJSFバッキングBeanの値を変更する方法は?
私の質問はどのように修正するのですか?どのようにして、グリッド選択変更イベントからいくつかのJSFコンポーネントに新しい値を割り当てることができますか?
注:これはJSF component doesn't update if changes came from grid clickのように非常に同じことについてですが、私は新しい質問を投稿理由です、私が思う今より明確に問題を参照してください。
私はIceFacesをやっていませんが、まず、アクションアクションフェーズ(通常のアクションリスナ)ではなく、リクエスト値の適用時にリスナーが呼び出されるのが奇妙です。代わりに、適切な段階でリスナーを呼び出すことができます。 – BalusC
これは、 'RowSelection'が' immediate'なので、http://www.icefaces.org/docs/v1_8_1/tld/ice/rowSelector.html – jabal
OMG、ありがとうございますBalusC!これを非即時に設定すると問題が解決しました。私はあなたの助けを受け入れることができるように質問にお答えください(両方)。 – jabal