EL抛出PropertyNotFoundException时方法是静态的
问题描述:
考虑下面的JSF代码:<h:outputText value="#{bean.foo}" />
和适当的方法在我的豆:public String getFoo(){ return "foo"; }
一切工作好了。但是,当我转我的bean的方法静态public static String getFoo(){ return "foo"; }
它不工作了,因为EL抛出一个异常:
EL抛出PropertyNotFoundException时方法是静态的
javax.el.PropertyNotFoundException:类“豆”不具有财产“富”。
为什么该方法不能是静态的?
答
通过使foo
为静态,它不再适合此类的property
的定义。你仍然可以直接调用getFoo(),但是当你改变它的方式时,它不会为你自动调用它。
你可以尝试'#{Bean.foo}'吗? –
我更加困惑,因为它在CamelCase中拼写bean时有用。为什么呢? – Gawron