struts2 bean类首字母和第二个字母不能大写
2012-11-21 10:59
309 查看
4000
struts2的bean类名首字母和第二个字母都不能大写 否则在set 、get时会报空指针错误(NullPointerException)
原因:
如后台类中有属性String sAdress这个属性。使用eclipse自动生成getsAdress()和setsAdress(String sAdress).注意:生成的方法中属性的首字母没有大写。
页面中会用name="sAdress"传递参数。struts2拦截器会调用后台类中的setSAdress(String sAdress)方法。而后台中没有此方法。
所以会报错。
如果第二个字母大写的话,用eclipse生成get,set方法,就手动把方法名的第一个字母换成大写就好了。
示例如下:
action层:
private List<PConstant> pConstantList;
public List<PConstant> getpConstantList() { // 方法名改为:getPConstantList
return pConstantList;
}
public void setpConstantList(List<PConstant> pConstantList) { // 方法名改为:setPConstantList
this.pConstantList = pConstantList;
}
jsp页面:
<s:select name="displayPosition" label="显示位置" headerKey="" headerValue="选择"
list="pConstantList" listValue="value" listKey="code">
</s:select>
错误如下:
2012-11-21 10:54:32 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'displayPosition': The requested list key 'pConstantList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
struts2的bean类名首字母和第二个字母都不能大写 否则在set 、get时会报空指针错误(NullPointerException)
原因:
如后台类中有属性String sAdress这个属性。使用eclipse自动生成getsAdress()和setsAdress(String sAdress).注意:生成的方法中属性的首字母没有大写。
页面中会用name="sAdress"传递参数。struts2拦截器会调用后台类中的setSAdress(String sAdress)方法。而后台中没有此方法。
所以会报错。
如果第二个字母大写的话,用eclipse生成get,set方法,就手动把方法名的第一个字母换成大写就好了。
示例如下:
action层:
private List<PConstant> pConstantList;
public List<PConstant> getpConstantList() { // 方法名改为:getPConstantList
return pConstantList;
}
public void setpConstantList(List<PConstant> pConstantList) { // 方法名改为:setPConstantList
this.pConstantList = pConstantList;
}
jsp页面:
<s:select name="displayPosition" label="显示位置" headerKey="" headerValue="选择"
list="pConstantList" listValue="value" listKey="code">
</s:select>
错误如下:
2012-11-21 10:54:32 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'displayPosition': The requested list key 'pConstantList' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
相关文章推荐
- struts2的bean类名首字母和第二个字母都不能大写
- struts下竟然不能让form中属性名的第一个和第二个字母大写!?
- 在bean中为属性命名时第二个字母不能大写
- Struts1.3中 form属性的 第二个字母为什么 不可以是大写
- Json 关于首字母不能为大写的问题
- struts2拦截器中引用名称不能大写
- Java变量及类名称定义坑之第二个字母大写
- Struts2的action变量声明,首字母小写次字母大写的问题
- JAVA bean属性名首字母不能大写
- win7在文件夹中不能通过输入首字母定位文件夹的解决方案(win7 在文件夹里按字母变成了搜索而不是定位)
- Java编程:hibernate实体类属性第二个字母大写“Could not find a getter for rS” 的问题
- latex中,table的caption字母全部大写了,但是我们希望只有首字母是大写。
- 输入一个字符串,如果第二个字符是字母(a~z ,A~Z),则将其大写变小写,小写变大写,如果不是字母则将其修改为空格,并将修改后的字符串输出。
- JS实现中文转拼音(首字母大写和首字母简拼)
- 台式机的字母键和数字键都不能正常使用了呢?
- golang字符串首字母转化为大写
- Android EditTextView 设置输入英文字母全部大写
- 关于struts2升级2.5版本后不能用通配符的解决方法
- 用循环实现连续大写英文字母的输出
- 怎样去掉word中首字母的大写功能