struts2 bean类首字母和第二个字母不能大写

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]


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值