【发布时间】:2016-06-17 00:40:47
【问题描述】:
我有一个使用 JSTL 的 JSP 来访问名为 Month 的 bean 的实例列表
<c:forEach var="month" items="${months}">
<option value="${month.index}">${month.label}</option>
</c:forEach>
直到最近,Month 类还明确声明了所有的 Getter 和 Setter;但后来我听说了 Lombok 项目,想知道它是否适用于这里。因此,使用 Lombok 的注释,我将 Month 类定义为:
public @Data class Month{
private Integer index;
private String label;
private boolean selected;
}
我希望这会“自动”生成 Getter 和 Setter,以便 JSTL 可以完成它的工作,但是当我访问该页面时,我在服务器上遇到异常 javax.el.PropertyNotFoundException: Property 'index' not found on type com.company.package.Month
在这种情况下如何应用 Lombok 我是不是搞错了?
【问题讨论】:
-
您使用的是什么 IDE,什么编译器?创建 Month object 的代码是否有效?你能从 Java 程序中调用 getter 吗?
-
Eclipse/Tomcat/Java 1.7.0_45-b18。如果我在 Month bean 上声明显式 getter,则相同的代码可以工作。如果我只使用 Lombok 注释并编写一个调用 month.setIndex(1) 的程序,我会收到编译器错误
undefined method