jsf 2.0 bean 扩展了另一个 bean 目标无法访问,'null'返回空值

发布于 2024-10-18 16:40:42 字数 630 浏览 1 评论 0原文

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?

谢谢

public class SuperUser extends User implements Serializable{
  private static final long serialVersionUID = 1L;

  private String username;

  private String pin;

 //getters and setters
 }

when I use this in a managed bean and try to access it in the facelets file like this

<h:inputText id="firstName" value="#{userManager.superUser.firstName}" required="true" maxlength="30" size="30"/>

I get an exception

javax.el.PropertyNotFoundException: /superUser/create.xhtml @18,96 value="#{userManager.superUser.firstName}": Target Unreachable

Does that mean the you cannot extend java beans if you want to access their properties?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不知所踪 2024-10-25 16:40:42

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

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

private SuperUser superUser = new SuperUser();

It just means that #{userManager.superUser} returned null and hence setFirstName() cannot be called on it. JSF won't create nested object properties for you. You have to do it yourself.

To fix this, just ensure inside the backing bean class behind #{userManager} that it's not null. E.g.

private SuperUser superUser = new SuperUser();
你爱我像她 2024-10-25 16:40:42

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

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

Is the method getFirstName() inside User class public?

Similarly, is getSuperUser() of the userManager managed bean public?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文