2016-11-05 28 views
0
<td><label for="admin">Is admin:</label></td> 
<td><form:input path="admin" value="${userObject.admin}"/></td> 

これは正常に動作します:${userObject.admin}のboolean値に応じてtrueまたはfalseで入力を埋めます。Spring MVCのチェックボックス

しかし、私は予想通り、これは動作しません:

<td><label for="admin">Is admin:</label></td> 
<td><form:checkbox path="admin" id="admin" value="${userObject.admin}"/></td> 

それは常に未チェックのチェックボックスを提供します。正しい方向に私を押してください。

答えて

0

これらの2つのタグは、value属性と同じセマンティックではありません。

form:inputタグを使用していますvalue属性を form:checkboxタグが使用しているがvalueのみ表示確認することが可能値に属性をフィールドにデフォルト値を設定します。
あなたがフィールドに複数のチェックボックスを選択することを可能にすると、値が より有用である:

<form:checkbox path="admin" value="system"/> 
<form:checkbox path="admin" value="application"/> 
<form:checkbox path="admin" value="local"/> 

form:checkboxタグでは、ボックスはpath属性値に応じて選択するかしません。ここにadminフィールド。したがって、adminフィールドがfalseの場合はチェックされず、trueの場合はチェックされます。
チェックボックスをオンにする場合は、adminフィールドに期待値を設定します。
コントローラのObject formBackingObject(HttpServletRequest request)()メソッドでこの処理を行うことができます。

関連する問題