jsf 2.0 bean扩展了另一个bean Target Unreachable,'null'返回null

时间:2011-02-23 16:13:20

标签: java jsf-2 managed-bean

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?

由于

2 个答案:

答案 0 :(得分:3)

这只是意味着#{userManager.superUser}返回了null,因此无法调用setFirstName()。 JSF不会为您创建嵌套对象属性。你必须自己做。

要解决此问题,请确保在#{userManager}后面的支持bean类中,它不是null。 E.g。

private SuperUser superUser = new SuperUser();

答案 1 :(得分:0)

用户类中的方法getFirstName()是公共的吗?

同样,userManager托管bean的getSuperUser()是公共的吗?