用springmvc,
表单:
<tr><td colspan="2">to_user:<form:checkbox path="flowDefines[${cur.index}].toUser" value="1" />
to_ip:<form:checkbox path="flowDefines[${cur.index}].toIp" value="1" />
</td>
</tr>提交以后,对应的model是:
private int toUser;
private int toIp;现在的问题是:如果checkbox不选中,自动转化就会出错:null 无法转化为 int。然后,在controller里面写一个:
@InitBinder
public void initDataBinder(WebDataBinder binder) {
PropertyEditorSupport propEditor = new PropertyEditorSupport(){
@Override
public void setAsText(String text) {
if (text == null || text.trim().equals("") || text.trim().equals("null")) {
setValue(0);
}else {
String value = text.trim();
setValue(Integer.valueOf(value));
}
}
};
binder.registerCustomEditor(int.class, propEditor);
}
还是报同样的错误,null 无法转化为 int。我知道,用Integer可以转化不出错,但是,不想用Integer,int有默认值0,Integer的默认是null。
表单:
<tr><td colspan="2">to_user:<form:checkbox path="flowDefines[${cur.index}].toUser" value="1" />
to_ip:<form:checkbox path="flowDefines[${cur.index}].toIp" value="1" />
</td>
</tr>提交以后,对应的model是:
private int toUser;
private int toIp;现在的问题是:如果checkbox不选中,自动转化就会出错:null 无法转化为 int。然后,在controller里面写一个:
@InitBinder
public void initDataBinder(WebDataBinder binder) {
PropertyEditorSupport propEditor = new PropertyEditorSupport(){
@Override
public void setAsText(String text) {
if (text == null || text.trim().equals("") || text.trim().equals("null")) {
setValue(0);
}else {
String value = text.trim();
setValue(Integer.valueOf(value));
}
}
};
binder.registerCustomEditor(int.class, propEditor);
}
还是报同样的错误,null 无法转化为 int。我知道,用Integer可以转化不出错,但是,不想用Integer,int有默认值0,Integer的默认是null。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货