Jsf javax.el.PropertyNotFoundException:类';xxx和x27;没有可读属性';yyy';

Jsf javax.el.PropertyNotFoundException:类';xxx和x27;没有可读属性';yyy';,jsf,el,managed-bean,propertynotfoundexception,Jsf,El,Managed Bean,Propertynotfoundexception,我有以下会话范围的CDI托管bean: @Named @SessionScoped public class RegisterController implements Serializable { private static final long serialVersionUID = 1L; @Inject private MitgliedAbc mitgliedAbc; public MitgliedAbc getMitgliedABC() {

我有以下会话范围的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}”:类 “com.example.RegisterController”没有 具有可读属性“mitgliedAbc”

这是如何造成的,我如何解决

javax.el.PropertyNotFoundException:类“xxx”没有可读属性“yyy”

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

换句话说,下面的EL表达式应该输出值

#{xxx.yyy}
在类
xxx
上找不到
public Yyy getYyy()
方法

在您的特殊情况下,使用以下EL表达式

#{registerController.mitgliedAbc}
找不到
公共MitgliedAbc getMitgliedAbc()
属性

事实上,这种方法并不存在。它的名称是
getMitgliedABC()
,而不是
getMitgliedABC()

相应地修复方法名称,使之与
getYyy()
完全匹配,并确保它是
public
和非
static

public MitgliedAbc getMitgliedAbc() {
    return mitgliedAbc;
}
另见:

    • 我也有同样的错误,我得到了解决方案

      这是我的Emp模型

      public class Emp {
          private String Eid;
          private String Ename;
          private String Mobile;
          private String Email;
      
          public String getEid() {
              return Eid;
          }
      
          public void setEid(String Eid) {
              this.Eid = Eid;
          }
      
          public String getEname() {
              return Ename;
          }
      
          public void setEname(String Ename) {
              this.Ename = Ename;
          }
      
      .........etc
      
      和我的控制器方法

       @RequestMapping(value="/welcome", method=RequestMethod.POST)
          public ModelAndView CtrlMethod(@ModelAttribute("employee1") Emp employee1) {
               ModelAndView model = new ModelAndView("hellopage");
               return model;    
          }
      
      在我的(hellopage.jsp)jsp页面中,我像下面一样提到了它,它适合我

       ${employee1.getEid()}
       ${employee1.getEname()}
       ${employee1.getMobile()}
       ${employee1.getEmail()} 
      

      您应该在问题中添加类的代码
      RegisterController
      。你好,巴卢斯克,非常感谢!我知道一定是打字错误,但我是瞎子,找不到。wsa a a打字错误不能回答你的问题吗?你好,巴卢斯克,非常感谢!我知道这一定是打字错误,但我是瞎子,找不到它。谢谢,弗兰兹这个建议对我很有用“它是公开的,非静态的”。我试图访问静态内部类的成员。