public class SuperUser extends User implements Serializable{
private static final long serialVersionUID = 1L;
private String username;
private String pin;
//getters and setters
}
当我在托管bean中使用它并尝试在facelets文件中访问它时,就像这样
<h:inputText id="firstName" value="#{userManager.superUser.firstName}" required="true" maxlength="30" size="30"/>
我得到了一个例外
javax.el.PropertyNotFoundException: /superUser/create.xhtml @18,96 value="#{userManager.superUser.firstName}": Target Unreachable
这是否意味着如果要访问其属性,则无法扩展java bean?
由于
答案 0 :(得分:3)
这只是意味着#{userManager.superUser}
返回了null
,因此无法调用setFirstName()
。 JSF不会为您创建嵌套对象属性。你必须自己做。
要解决此问题,请确保在#{userManager}
后面的支持bean类中,它不是null。 E.g。
private SuperUser superUser = new SuperUser();
答案 1 :(得分:0)
用户类中的方法getFirstName()
是公共的吗?
同样,userManager托管bean的getSuperUser()
是公共的吗?