使用EL表达式时Tomact报错:javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[snum]

最近在做一个项目时,遇到tomcat报错

“javax.el.PropertyNotFoundException:类型[java.lang.String]上找不到属性[XXX]

去百度了一下,总结出以下原因:

1 . 可能是你的javabean里面xxx属性出问题,检查以下你的get方法写法是否写错了
2. 在页面用el表示时,应该将第一个字母改为小写,原因如下:

首先我们需要了解的El表达式的运行机制:
el表达式在你获取对象时,自动把你的属性名转换成字符串,并把首字母大写,
进行拼接("get"+Xxx),
然后通过反射的方式获取到get方法,返回属性值。
实际上就是调用了一遍JavaBean里面的xxx属性的get函数。

3. 如果确定以上两点的没问题,那么就检查一下调用xxx的逻辑是否有问题。
4. 以上三点都没有问题的话,那么就检查以下自己的代码写的是否规范。

  • 我就是第4点的错误,花了很久排查前三点结果都没有问题,后来在某篇博客上发现自己的问题了。把空格删掉,就可以成功执行了!!!
    在这里插入图片描述

个人总结了一下,如有不对,还请指教!

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值