我对Lombok和JSTL如何处理getter和setter有点困惑。 我有以下@Data类:
query params
我可以像这样访问.jsp中的私有布尔值:
@Data
public class Foo {
private boolean isStateOne;
}
虽然我也可以将私有布尔声明为
<c:set var="state" value="${foo.stateOne}"/>
以相同的方式在JSTL中访问它。但是,以下代码将抛出PropertyNotFoundException:
private boolean stateOne;
有人可以澄清在与JSTL和Lombok同时使用时应该使用的命名约定吗?提前谢谢!
答案 0 :(得分:0)
我认为你应该使用经典的Java约定。 它是布尔字段的生成getter的问题:
对于私有布尔值isStateOne getter是:
public boolean isStateOne() {
return isStateOne;
}
public void setStateOne(boolean stateOne) {
isStateOne = stateOne;
}
对于私有布尔stateOne getter是:
public boolean isStateOne() {
return stateOne;
}
public void setStateOne(boolean stateOne) {
this.stateOne = stateOne;
}
在这两个声明中,getter都有一个名称:isStateOne 尝试使用:
<c:set var="state" value="${foo.isStateOne}"/>
而不是StateOne