2009-07-30 7 views
1

チェックボックスの前の値を新しい値と一緒に使用できますか?Springで以前の値のチェックボックスを使用するにはどうすればよいですか?

私の問題は、チェックボックスの値がtrueの場合にのみ、いくつかのコードを実行する必要があります。また、それが既にtrueの場合でも同じアクションを再度実行するとは思われません。 現在、私がやっているのは、すべてのチェックボックスについて、以前のバリューホールダーを持っていることです。値が変更された場合にのみ、アクションを実行し(そしてそれは真である)、以前の値保持者の値を新しい値に設定します。

+0

アクションは、サーバー側またはクライアント側で実行されますか。 これは、Ajaxベースのアクションかページの提出ですか? –

+0

Arun、私はサーバー側でこれを持っていると思いますが、 –

答えて

0

チェックボックスに変更リスナーを追加できます。チェックボックスが状態を変更すると、特別なコードを直接呼び出すことができます。

また、チェックボックスが内部にある環境設定ページがある場合は、設定ページの状態を保存し、状態を内部で変更した場合はチェックする必要があります。

0

spring mvc JSP tablibまたはvelocity/freemarkerマクロを使用していますか?

場合は、HTMLのチェックボックスの既存の値で隠しフィールドの前にアンダースコア「_」を付ける必要があります。 Springはチェックボックスがチェックされていないかどうかを判断するのに役立ちます。

この非表示フィールドは、目的に合わせて適切に設定する必要があります。非表示フィールドの値を確認し、実際のチェックボックスフィールド値と比較することができます。

を正しく使用すると、これが改ざんされる可能性がありとして古い値を記録するために、クライアント側に依存することなく、比較を行う必要がありますこれを行うにはSpring MVC 2.5 Checkbox tag

0

を参照してください。

送信時に、Spring MVCはクライアントから送信された新しい値で更新する前にコマンドの古いバージョンを再構築します。バインドフェーズが開始する前に、古い値をどこかに保存する必要があります。

これを行うには、formBackingObjectメソッド(POST送信後に再び呼び出されます)で、値のコピーをリクエストオブジェクトに入れます。その後、onSubmitメソッドでは、比較の要求から値を取得できます。コマンドの別のフィールドに記録することもできます。

このSimpleFormController cheat sheetは、メソッドの実行順序を理解するのに非常に役立ちます。それもあなたを助けてくれるはずです。

関連する問題