关于el表达式foreach找不到对象属性的问题

java报错--Property 'xxx' not found on type 包名.类名

<c:forEach items="${requestScope.customers}" var="cust">
	<tr>
		<c:out value="${cust.name}"></c:out>
	</tr>
</c:forEach>

发现找不到cust里的属性

Property [Name] not found on type [com.zrj.domain.Customer]

意思就是找不到Customer里的Name属性

网上找一些答案,java报错–Property ‘xxx’ not found on type 包名.类名
说是类里的get方法大小写有问题我全部删除重新快捷键创建然而还是不行,在折腾了一段时间后查看了el中对获取对象属性的解释:

以表达式${book.isbn}为例
EL表达式会根据isbn去Book类里寻找这个isbn的get方法,此时会自动把isbn首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值。

可是我的Name已经是大写了啊( ・´ω`・ )
于是试了下改成小写的name
然后就可以了(╯°Д°)╯︵┻━┻
注意哦我这里对象属性名依然是Name,el中写Cust.Name是不可以的,只有写小写的name才可以.不清楚是什么原因.
不管是为什么,还是建议大家要按照命名规范把对象名首字母改为小写的,避免这样无厘头的麻烦呢(≖ᴗ≖)✧

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值