標籤:類型 rmi hvm ups asi ovs dvr dmr javabean
在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” 開頭的名稱
Java Bean 命名規則