【发布时间】:2015-11-13 10:16:51
【问题描述】:
需要将空值保存到布尔变量。 当我尝试提交一个没有检查任何输入的表单时,我在 myVariable 中有一个“假”而不是 null。 该属性在表单上具有布尔类型。 这是我的jsp代码的一部分:
<spring:bind path="form.myVariable">
<table cellpadding="0" cellspacing="0" border="0" >
<td valign="middle">
<input type="checkbox" name="<c:out value="${status.expression}"/>" value="true" <c:if test='${status.value == "true"}'>checked</c:if> />
</td>
<td valign="middle">
<input type="checkbox" name="<c:out value="${status.expression}"/>" value="false" <c:if test='${status.value == "false"}'>checked</c:if> />
</td>
<input type="hidden" name="_<c:out value="${status.expression}"/>" value="">
</table>
属性在 hbm.xml 中配置如下:
<property name="myVariable" not-null="false" type="java.lang.Boolean" access="field" column="MY_VARIABLE"/>
我还在控制器的活页夹中添加了 CustomBooleanEditor:
binder.registerCustomEditor(Boolean.class, new CustomBooleanEditor("true", "false", true));
这有什么问题?
【问题讨论】: