今天在JSP利用EL表达式取值报了 "javax.el.PropertyNotFoundException”,经过debug和打印将问题定位到这段代码:
HTML应该是没啥问题,看提示在java.lang.string类型上找不到属性“product”,应该是EL表达式哪里写错了,然后将图中EL表达式重新写了一遍:
然后神奇的不报错了,搞得我一脸蒙蔽,我将每段代码都比对了一下,没发现哪里不对,干就干彻底,替换每段代码测试,结果第一段替换进去就OK了
仔细检查了两段代码:
//报错代码
<c:forEach items="${order.orderItems } " var="orderItem">
//成功代码
<c:forEach items="${order.orderItems }" var="orderItem">
睁开我的钛合狗眼看了N遍,终于发现明明一样的代码,长度却不同。
再检查,细心又帅气的我发现第一段代码在EL表达式的花括号“}”结尾与双引号中间多了个空格
这里是不能有空格的
这玩意浪费我两小时的时间去排查,写代码的时候一定要细心细心再细心!