jsf - javax.el.PropertyNotFoundException : The class 'xxx' does not have a readable property 'yyy'

标签 jsf el managed-bean propertynotfoundexception

我有以下 session 范围的 CDI 托管 bean:

@Named
@SessionScoped
public class RegisterController implements Serializable {   
    private static final long serialVersionUID = 1L;

    @Inject
    private MitgliedAbc mitgliedAbc;

    public MitgliedAbc getMitgliedABC() {
        return mitgliedAbc;
    }

    public void setMitgliedAbc (MitgliedAbc mitgliedAbc) {
        this.mitgliedAbc = mitgliedAbc;
    }

}

以及以下 JSF 形式的输入:
<h:inputText value="#{registerController.mitgliedAbc.mgEmail}" />

部署到 GlassFish 4.1 并在浏览器中打开页面时,抛出以下异常:

javax.el.PropertyNotFoundException: /register.xhtml @27,66 value="#{registerController.mitgliedAbc.mgEmail}": The class 'com.example.RegisterController' does not have a readable property 'mitgliedAbc'.



这是怎么引起的,我该如何解决?

最佳答案

javax.el.PropertyNotFoundException: The class 'xxx' does not have a readable property 'yyy'



这基本上意味着 xxx 类没有属性 yyy 的(有效)getter 方法。

换句话说,应该输出值的以下 EL 表达式,
#{xxx.yyy}

无法在 public Yyy getYyy() 类上找到 xxx 方法。

在您的特定情况下,使用以下 EL 表达式,
#{registerController.mitgliedAbc}

它无法找到 public MitgliedAbc getMitgliedAbc() 属性。

事实上,这种方法并不存在。它被命名为 getMitgliedABC() 而不是 getMitgliedAbc()

相应地修复方法名称以完全匹配 getYyy() 并确保它是 public 和非 static
public MitgliedAbc getMitgliedAbc() {
    return mitgliedAbc;
}

也可以看看:
  • javax.el.PropertyNotFoundException: Property 'foo' not found on type com.example.Bean
  • Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable
  • 关于jsf - javax.el.PropertyNotFoundException : The class 'xxx' does not have a readable property 'yyy' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27769814/

    相关文章:

    jsf-2 - 将 JSF 托管 Bean 迁移到 CDI 托管 Bean

    java - 如何使用 @OneToOne 关系同时持久化两个实体?

    java - 导航后未呈现 JSF 标记

    java - 从多个 portlet 访问 Util jar 中的 FacesContext

    jsf - component.clientId 和 p :component() 生成的客户端 id 之间的差异

    java - 为什么不会 f :selectItems allow me to add another value? JBOSS/JSF

    java - Facelets 错误页面,因为响应已提交。 JSF

    JSF ajax 事件延迟

    java - 将 ResultSet 从 Servlet 传递到 JSP

    Java EE 6、5、7 |托管 bean 或类列表 : EJBs , JSF bean 和..?