EL выбрасывает PropertyNotFoundException, когда метод является статическим

Учитывая следующий код JSF:
<h:outputText value="#{bean.foo}" />
и правильный метод в моем бобе:
public String getFoo(){ return "foo"; }
все работает просто отлично. Но когда я переключаю метод моего компонента на статический
public static String getFoo(){ return "foo"; }
Это больше не работает, потому что EL выдает исключение:

javax.el.PropertyNotFoundException: у класса 'bean' нет свойства 'foo'.

Почему метод не должен быть статичным?

1 ответ

Решение

Делая foo статический он больше не вписывается в определение property этого класса. Вы по-прежнему можете вызывать getFoo() напрямую, но он не будет автоматически связываться с вами при построении так, как вы его изменили

Другие вопросы по тегам