【问题标题】:EL throws PropertyNotFoundException when method is static当方法为静态时,EL 抛出 PropertyNotFoundException
【发布时间】:2016-07-27 00:40:07
【问题描述】:

给定以下 JSF 代码:
<h:outputText value="#{bean.foo}" />
我的 bean 中的正确方法:
public String getFoo(){ return "foo"; }
一切都很好。但是当我将 bean 的方法切换为静态时
public static String getFoo(){ return "foo"; }
它不再起作用了,因为 EL 抛出异常:

javax.el.PropertyNotFoundException:类“bean”没有属性“foo”。

为什么方法不能是静态的?

【问题讨论】:

  • 你能试试#{Bean.foo}吗?
  • 我更加困惑,因为我在 CamelCase 中拼写 bean 时它起作用了。为什么会这样?

标签: java jsf el propertynotfoundexception


【解决方案1】:

通过将foo 设为静态,它不再适合该类的property 的定义。您仍然可以直接调用 getFoo(),但在按照您更改的方式构建时,它不会为您自动装配它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 2015-04-17
    相关资源
    最近更新 更多