我在 JSP 中遇到错误,我无法弄清楚是什么原因导致的。我已经包含了所有适当的库,并且我确保遵循大写/小写的 bean 约定。这是 JSP 中的相关代码:
<c:forEach items="${relevantData}" var="entry">
<p>${entry.price}</p>
</c:forEach>
relevantData
是一个List<MyData>
.出于这个问题的目的,说 MyData
就足够了是一个包含 Double
的类命名价格(遵循 bean 约定的 Getter 和 Setter)。当我尝试加载此页面时,我在服务器日志中收到以下错误 (Tomcat 7.0.22):
javax.el.PropertyNotFoundException:
Property 'price' not readable on type java.lang.Double
为什么会出现此错误以及如何解决?
最佳答案
问题实际上是由 MyData
类的可见性引起的。我在 Netbeans 中自动生成了 MyData
类,但我没有注意到类名前面没有关键字 public
。这意味着当它到达 JSP 时,它无法读取 MyData
中的属性。
我把类型改成了public
,问题就解决了。
关于JSP 页面中的 javax.el.PropertyNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110065/