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() напрямую, но он не будет автоматически связываться с вами при построении так, как вы его изменили