How to get boolean property with expression langua

2019-07-07 02:55发布

问题:

If I have a class like this:

class Person {
  private int age;
  public int getAge() {
    return age;
  }
  public boolean isAdult() {
    return age > 19;
  }
}

I can get the age with EL like this:

${person.age}

But, I cannot figure out how to get the isAdult(). How can I get this?

回答1:

Do it like

${person.adult}

It will invoke isAdult()

It works on java bean specifications.



回答2:

Doing ${person.adult} should work, unless you are using a very old version of JSP, in which case you may need to change your method name to getAdult() or even getIsAdult().

Essentially this same question was asked (and answered) here: getting boolean properties from objects in jsp el



回答3:

The JavaBean specification defines isXXX for boolean getters and getXXX for other getter, so it should be exactly the same syntax: ${person.adult}.



回答4:

try this

 class Person {
  private int age;
  private boolean adult;
  public int getAge() {
    return age;
  }
  public void isAdult() {
    adult = (age > 19);
  }
}

${person.adult}


标签: java el