I\'ve the below session scoped CDI managed bean:
@Named
@SessionScoped
public class RegisterController implements Serializable {
private static final
javax.el.PropertyNotFoundException: The class 'xxx' does not have a readable property 'yyy'
This basically means that the class xxx
does not have a (valid) getter method for property yyy
.
In other words, the following EL expression which should output the value,
#{xxx.yyy}
was unable to find a public Yyy getYyy()
method on class xxx
.
In your particular case, with the following EL expression,
#{registerController.mitgliedAbc}
it was unable to find a public MitgliedAbc getMitgliedAbc()
property.
And indeed, that method doesn't exist. It's named getMitgliedABC()
instead of getMitgliedAbc()
.
Fix the method name accordingly to exactly match getYyy()
and make absolutely sure it's public
and non-static
.
public MitgliedAbc getMitgliedAbc() {
return mitgliedAbc;
}
I had the same error and I got the solution
This is my Emp Model
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
And my Controller method
@RequestMapping(value="/welcome", method=RequestMethod.POST)
public ModelAndView CtrlMethod(@ModelAttribute("employee1") Emp employee1) {
ModelAndView model = new ModelAndView("hellopage");
return model;
}
In My (hellopage.jsp) JSP Page I mentioned like bellow and it works for me.
${employee1.getEid()}
${employee1.getEname()}
${employee1.getMobile()}
${employee1.getEmail()}