2016-04-06 29 views
0

考慮下面的JSF代碼:
<h:outputText value="#{bean.foo}" />
和適當的方法在我的豆:
public String getFoo(){ return "foo"; }
一切工作好了。但是,當我轉我的bean的方法靜態
public static String getFoo(){ return "foo"; }
它不工作了,因爲EL拋出一個異常:
EL拋出PropertyNotFoundException時方法是靜態的

javax.el.PropertyNotFoundException:類「豆」不具有財產「富」。

爲什麼該方法不能是靜態的?

+2

你可以嘗試'#{Bean.foo}'嗎? –

+0

我更加困惑,因爲它在CamelCase中拼寫bean時有用。爲什麼呢? – Gawron

回答

0

通過使foo爲靜態,它不再適合此類的property的定義。你仍然可以直接調用getFoo(),但是當你改變它的方式時,它不會爲你自動調用它。