当方法是静态的时,EL 抛出 PropertyNotFoundException
EL throws PropertyNotFoundException when method is static
给定以下 JSF 代码:
<h:outputText value="#{bean.foo}" />
以及我的 bean 中的正确方法:
public String getFoo(){
return "foo";
}
一切都很好。但是当我将 bean 的方法切换为静态时
public static String getFoo(){
return "foo";
}
它不再起作用,因为 EL 抛出异常:
javax.el.PropertyNotFoundException: The class 'bean' does not have the property 'foo'.
为什么方法不能是静态的?
通过将 foo
设为静态,它不再符合此 class 的 property
的定义。您仍然可以直接调用 getFoo() ,但是当按照您更改它的方式构造它时,它不会为您自动装配它
给定以下 JSF 代码:
<h:outputText value="#{bean.foo}" />
以及我的 bean 中的正确方法:
public String getFoo(){
return "foo";
}
一切都很好。但是当我将 bean 的方法切换为静态时
public static String getFoo(){
return "foo";
}
它不再起作用,因为 EL 抛出异常:
javax.el.PropertyNotFoundException: The class 'bean' does not have the property 'foo'.
为什么方法不能是静态的?
通过将 foo
设为静态,它不再符合此 class 的 property
的定义。您仍然可以直接调用 getFoo() ,但是当按照您更改它的方式构造它时,它不会为您自动装配它