EL和Lombok如何为吸气者和制定者合作

时间:2018-03-14 23:41:17

标签: jstl lombok

我对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同时使用时应该使用的命名约定吗?提前谢谢!

1 个答案:

答案 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