Spring表单参数绑定中对“is”开头的boolean类型字段的的处理


之前在新浪微博上面发了一个微薄:

  弱弱的发现在定义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;
    }

 

  

这样修改了之后,就可以在后端接收到值了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM