Spring表单参数绑定中对“is”开头的boolean类型字段的的处理
2014-07-23 17:46 Rollen Holt 阅读(6721) 评论(1) 编辑 收藏 举报之前在新浪微博上面发了一个微薄:
弱弱的发现在定义boolean类型的时候最好不要使用“is”开头,可以避免一些问题哦
然后有一些朋友朋友问我为什么,当时比较忙,现在写篇文章举一个例子,回复一下这个问题。
最近在使用Spring MVC的时候vo定义了一个字段,一开始字段名字为:isAddCertificateInfo, 相应的get和set方法如下:
public boolean isAddCertificateInfo() { return isAddCertificateInfo; } public void setAddCertificateInfo(boolean isAddCertificateInfo) { this.isAddCertificateInfo = isAddCertificateInfo; }
而前端form表单中定义的为:
<input type="hidden" name="isAddCertificateInfo" id="isAddCertificateInfo" value="true"/>
但是测试发现后端一直拿不到值。然后我就想起了以前在使用某个框架提供的BeanUtil进行属性复制时候遇到的问题,当时就是因为boolean类型字段以is开头。
后来我尝试性的将这个字段名字改为了:addCertificateInfo,然后增加get和set方法:
public boolean isAddCertificateInfo() { return addCertificateInfo; } public void setAddCertificateInfo(boolean addCertificateInfo) { this.addCertificateInfo = addCertificateInfo; }
这样修改了之后,就可以在后端接收到值了。
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================
![](http://service.t.sina.com.cn/widget/qmd/1882500857/8c17d4b5/1.png)