Java 当方法为静态时,EL抛出PropertyNotFoundException
给定以下JSF代码:Java 当方法为静态时,EL抛出PropertyNotFoundException,java,jsf,el,propertynotfoundexception,Java,Jsf,El,Propertynotfoundexception,给定以下JSF代码: 在我的bean中使用正确的方法: 公共字符串getFoo(){ 返回“foo”; } 一切都很好。但是当我将bean的方法切换到static时 公共静态字符串getFoo(){ 返回“foo”; } 它不再工作了,因为EL抛出了一个异常: javax.el.PropertyNotFoundException:类“bean”没有属性“foo” 为什么该方法不能是静态的?通过使foo成为静态的,它不再符合此类的属性的定义。您仍然可以直接调用getFoo(),但如果按照您更改它
在我的bean中使用正确的方法:
公共字符串getFoo(){
返回“foo”;
}
一切都很好。但是当我将bean的方法切换到static时
公共静态字符串getFoo(){
返回“foo”;
}
它不再工作了,因为EL抛出了一个异常:
javax.el.PropertyNotFoundException:类“bean”没有属性“foo”
为什么该方法不能是静态的?通过使
foo
成为静态的,它不再符合此类的属性的定义。您仍然可以直接调用getFoo(),但如果按照您更改它的方式构造它,它将不会为您自动连接它您可以尝试{Bean.foo}
?我甚至更困惑,因为在CamelCase中拼写Bean时它会起作用。为什么会这样?