0

我有一个标准的 EJB 设置,并试图让 PrimeFaces 数据表显示用户列表(从数据库加载的实体)。在getUserList我的tableBean(userTable)方法中,我有一个println打印 s 列表的语句User(这userList是一个static变量)。因此,当数据表尝试获取列表时,它会打印正确的列表,但由于某种原因,随后会构造新User对象(与列表中的对象一样多),然后显示一个填充了默认构造User的数据表。我想知道是否需要添加更多注释?我从示例中获得了 PrimeFaces 数据表,并有一个UserTable仅用于数据表的类。另外,当我将打印语句放入Userbean 的构造函数,我看到它被构造了很多次(每个条目 4 个,但不是从 1 开始)。也许我需要注释?我不确定

JSF 代码:

<p:dataTable var="user" value="#{userTable.userList}" rowKey="#{user.username}"
    selection="#{userTable.selectedUser}" selectionMode="single" >

    <f:facet name="header">
        Select a User to permanently delete
    </f:facet>

    <p:column headerText="Username">
        #{user.username}
    </p:column>

我不相信错误出现在 PrimeFaces 中,但我只是不明白为什么会这样。有任何想法吗?

此外,对于任何有半相似问题的人,这些链接可能会有所帮助,但它们特别帮助我: CDI bean 构造函数和@PostConstruct 多次调用如何将 Bean 中的项目列表显示到 JSF 网页上?

4

0 回答 0