【原创】在JSTL 标签中遇到的c:foreach问题

 在应用jstl标签c:foreach中遇到了一个这样的问题:

[Servlet Error]-[action]: javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "value" with value "${claim.cLtNum}": Unable to find a value for "cLtNum" in object of class "com.data.Claim" using operator "." (null)

*******字面的意思是:没有找到cLtNum对象********

经调查发现,出现这种问题的原因如下:
 在jstl标签中,进行c:foreach动作时进行如下操作:

<c:foreach item="${claimList} var="claim">
<tr><td nowrap class="aTabletitle3" align="center">
      
<div align="center">
       
<c:out value="${claim.cLtNum}" />
       
</div>
</td></tr>
</c:foreach>

此时,jstl就会去遍历claimList信息,并把信息存储在单一对象claim中,接着在"${claim.cLtNum}" 中它会查找claim的getCLtNum()方法,去获得cLtNum的信息。
 
可是奇怪的是在jstl中对域的写法要求很严,出一点问题都会报错,现在就是出错造成的问题,错误在于cLtNum,
在javabean中定义域的规则不正确造成的,改为"private String cltNum"就没有问题了,同理如果是CltNum一样会报错的。javaBean域的命名规则必须确保第一个字母和第二个字母必须为大写时才有效,否则,进行c:foreach都会报错!
 
切记切记........

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值