javax.el.PropertyNotFoundException: Property 'XXX' not found on type xx.xx.xx.xx(实体类具体路径)

时间:2022-07-22
本文章向大家介绍javax.el.PropertyNotFoundException: Property 'XXX' not found on type xx.xx.xx.xx(实体类具体路径),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

原因:在使用el表达式获取具体属性时,只能用小写调用(即使实体类定义的属性有大写字母)

列如: 实体类属性如下,可以看到属性有大写字母

而且servlet返回的是一个集合plist

在jsp页面使用jstl以及el调用时

控制台报如标题所示异常

解决方案:将需要调用的属性全部小写即可

注意:如果你设置了request.setAttribute(),如request.setAttribute(“empId”, empId);则使用el获取时,应写成 ${empId}。

也就是说,如果没有设置具体的属性,使用el获取时,通通用小写。反之,则需要按照request.setAttribute()第一个引号内设置的值原样获取。

还有一个原因,就是取值时el表达式没写错,在写jstl表达式时,item没写对

<c:forEach items="列名" var="列名简写">
		<option value="${mrg.emId }">${mgr.realName}</option>
</c:forEach>

应改为:

<c:forEach items="${列名}" var="mgr">
	    <option value="${mrg.emId }">${mgr.realName}</option>
</c:forEach>