2012-02-23 14 views
1

フォームにモデルオブジェクトからの多くの入力フィールドが表示されるという要件があります。特定のイベントに対してAPPLY_REQUEST_VALUESフェーズを回避する方法

外部プラグインが呼び出され、そのフィールドの値がそのプラグインによってモデル内で直接変更されました(UIフォームフィールドで変更されていない)ので、変更したパネルを再レンダリングします(モデルオブジェクトからの)値がUIフォームフィールドに表示されます。

検証されたすべてとプラグインは、モデル内の値やパネルの再レンダリングを変更することもできます。 reRenderを実行すると、UIフォームの値がモデルに適用され、モデルオブジェクトが値を失う(プラグインによって設定されます)、パネルが更新されると空白のフィールドが表示されます。

このイベントの場合のみ、APPLY_REQUEST_VALUESをバイパスしてモデルの値が表示される方法はありますか?それとももっと良い解決策がありますか?

よろしく、 サティヤ

答えて

2

あなたはこのためimmediate="true"を使用することができます。

<a4j:support ... immediate="true" /> 

この方法では、現在のコンポーネントのみが処理されます。

もう1つの方法は、値変更リスナーでただちにレスポンスをレンダリングして、モデル値の更新(およびアクションの呼び出し)フェーズをスキップすることです。

FacesContext.getCurrentInstance().renderResponse(); 
関連する問題