在SSH框架中写写某个添加功能,发现数据库中的某个字段居然没有改变。页面数据传到后台,我用的是ajax的序列化。因而我打印序列化后的数据,发现页面数据没有问题,可是当数据传后后台的action里面的时候,方向这个 private int pCount;这个的值是0.这个的数据居然没有传过来,显示是 0 。这就有点尴尬了。java
因为不知道这个问题出如今哪里,因而经过百度,在百度上面的无数资料中查看相关问题。经过漫长的百度。终于发现了问题所在,原来是个人这个字段命名出现了问题。ajax
网上说:javabean属性命名尽可能使用常规的驼峰式命名规则。数据库
当时写了 private int pCount. 而且使用myeclipse里面的功能生成其的get和set方法。看下生成的方法:框架
若是和javabean属性命名尽可能使用常规的驼峰式命名规则对照着看 你就会方向问题了。规则:eclipse
1. 对于常规属性 <propertyName> , 属性名称的第一个单词小写且字母个数大于1,第二个单词首字母大写 。对应的getter/setter方法名为:get /set + <PropertyName>(), 即属性名称的第一个单词的首字母改为大写, 前面再加上"get"或"set"前缀。spa
2. 对于布尔类型 <propertyName> , 能够按常规属性的规则编写getter/setter方法外, getter方法能够使用 is + <PropertyName>()的形式来代替。ip
3. 对于很是规属性<pName>, 属性名称的第一个单词小写且字母个数等于1,第二个单词首字母大写 。get
这样就能够发现问题了。生成的get和set方法的除get/set外的首字母必须大写,而这里确实小写,这就会出现前面的问题,页面的参数传不到action。io
之后须要避免:属性名第一个单词尽可能避免使用一个字母:如pCount。
boolean属性名避免使用 “is” 开头的名称
后台