之前在新浪微博上面發了一個微薄:
弱弱的發現在定義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; }
這樣修改了之后,就可以在后端接收到值了。
