Как получить логическое свойство с языком выражений? - PullRequest
3 голосов
/ 28 июля 2011

Если у меня есть такой класс:

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

Я могу получить age с EL, как это:

${person.age}

Но я не могу понять, как получить isAdult(). Как я могу получить это?

Ответы [ 4 ]

6 голосов
/ 28 июля 2011

Сделайте это как

${person.adult}

Это вызовет isAdult()

Работает на спецификациях Java-бинов.

1 голос
/ 28 июля 2011

Выполнение ${person.adult} должно работать, если только вы не используете очень старую версию JSP, в этом случае вам может потребоваться изменить имя метода на getAdult() или даже getIsAdult().

По сути, этот же вопрос был задан (и получен ответ) здесь: получение логических свойств от объектов в jsp el

0 голосов
/ 28 июля 2011

попробуйте

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

${person.adult}
0 голосов
/ 28 июля 2011

Спецификация JavaBean определяет isXXX для логических методов получения и getXXX для других методов получения, поэтому он должен иметь точно такой же синтаксис: ${person.adult}.

...