1
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?

谢谢

4

2 回答 2

3

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

要解决此问题,只需确保在后面的支持 bean 类内部#{userManager}它不为空。例如

private SuperUser superUser = new SuperUser();
于 2011-02-23T16:15:53.620 回答
0

getFirstName()User 类中的方法是公开的吗?

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

于 2011-02-23T16:14:54.747 回答