Java Bean 命名規則


      在SSH框架中寫寫某個添加功能,發現數據庫中的某個字段竟然沒有改變。頁面數據傳到后台,我用的是ajax的序列化。於是我打印序列化后的數據,發現頁面數據沒有問題,但是當數據傳后后台的action里面的時候,方向這個 private  int pCount;這個的值是0.這個的數據竟然沒有傳過來,顯示是 0 。這就有點尷尬了。

     由於不知道這個問題出現在哪里,於是通過百度,在百度上面的無數資料中查看相關問題。通過漫長的百度。終於發現了問題所在,原來是我的這個字段命名出現了問題。

網上說:javabean屬性命名盡量使用常規的駝峰式命名規則。

    當時寫了 private int pCount. 並且使用myeclipse里面的功能生成其的get和set方法。看下生成的方法:

    如果和javabean屬性命名盡量使用常規的駝峰式命名規則對照着看 你就會方向問題了。規則:

1. 對於常規屬性  <propertyName> , 屬性名稱的第一個單詞小寫且字母個數大於1,第二個單詞首字母大寫  。對應的getter/setter方法名為:get /set +  <PropertyName>(), 即屬性名稱的第一個單詞的首字母改成大寫, 前面再加上"get"或"set"前綴。

2. 對於布爾類型 <propertyName> , 可以按常規屬性的規則編寫getter/setter方法外, getter方法可以使用 is +  <PropertyName>()的形式來代替。

3. 對於非常規屬性<pName>, 屬性名稱的第一個單詞小寫且字母個數等於1,第二個單詞首字母大寫  。

這樣就可以發現問題了。生成的get和set方法的除get/set外的首字母必須大寫,而這里確實小寫,這就會出現前面的問題,頁面的參數傳不到action。

以后需要避免:屬性名第一個單詞盡量避免使用一個字母:如pCount。
                   boolean屬性名避免使用 “is” 開頭的名稱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM