新しいページ値で更新するためにBeanを取得するのが苦労しています。私は自分のページに2つのサブミットボタンを持っており、どのモードが私のページにあるかのブール値に基づいて表示するものをトグルします。私のページが更新のみ(検証なし)のときは、immediate = "true" 。ページが処理モード(検証中)の場合、immediate = "true"のない送信ボタンを表示します。 私が実行している問題は、更新モード(検証なし)で入力フィールドの値がBeanに設定されていないときです。このモードでは、ページをそのまま保存して終了します。そのページの情報は、処理する準備ができていないか、必要に応じて「実際に使用する」ため、検証は必要ありません。つまり、ページがプロセスモード(検証)であれば、すべてが意図どおりに機能します。値は送信され、保存されます。JSF 2.0の値がサブミットされていません
私がしようとしていることについて特別なことは何もないので、まだコードを投稿していません。単純なゲッタ/セッタを指す値バインディングを持っているだけです。私のBeanは@ViewScopeにあります。
彼の優秀なblogspotの投稿:debug-jsf-lifecycleで、BalusCの例を使ってみました。 即時= "true"の送信ボタンをクリックすると、入力フィールドにimmediate = "true"を設定しても効果はありません。 UICommandの即時= "真"であることを理解する方法は、検証をスキップするかどうかをアプリケーションに指示するものです。入力フィールドに入力するだけで、検証がより早く行われます。何か不足していますか?
アイデア?これに関するすべての助けが大歓迎です!
アプリケーション仕様:
JSF 2.0.3
のTomcat 6.0.14
私は処理されていない入力の犠牲者です。なぜ私はなぜか分かりませんが、どういうわけか私の頭の中では、UICommandのimmediate = "true"はバリデーションを無効にしていましたが、単にそれらのフィールドを処理していないだけです...いつものように、BalusCに感謝します!私はあなたが忘れてしまったものの半分を知ってほしかった:) – Mickelback
あなたは大歓迎です:) – BalusC