java - jsf 2.0 bean extends another bean Target Unreachable, 'null' returned null

标签 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?

谢谢

最佳答案

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

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

private SuperUser superUser = new SuperUser();

关于java - jsf 2.0 bean extends another bean Target Unreachable, 'null' returned null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5093543/

相关文章:

java - 在 h :inputTextarea tag JSF(2. 0 中禁用复制粘贴功能)

jsf - 跨多个 View 持久化 ViewScoped bean

java -\n 有什么等价物吗?

java - Criteria API JPA 2 - JOIN 导致 MySQLSyntaxErrorException : You have an error in your SQL syntax

java - 部署 java web 应用程序 .war 文件后找不到 404

java - 如何在jsf2中添加请求参数?

java - 在下面添加版本 ---BEGIN PGP MESSAGE---

jquery - 调整大小时 Primefaces 对话框位置错误

java 丢失来自 ManagedBeans 的值

Java EE 6 : Target Unreachable, 标识符 'helloBean' 解析为空