我有一个要使用 primefaces 在 JSF 页面中显示的用户列表p:datatable
。我也不例外,但是我无法将a拥有的数据显示到列表中,甚至没有显示列标题,事实上,我使用了'getUserListe()'
从数据库中调用我的服务层获取数据的方法,可以肯定其中,我添加了一些userDomain
属性(我的模型类)的 sysprint(),当我访问 URL 时,我想用来自 UserListe 的数据填充我的数据表,所以我调用它value="#{userMB.userListe}"
,问题是列表不显示。但是当页面被收费时,意味着 getUserListe() 被调用,在我的控制台中,属性被成功打印,有人对此有任何想法吗?:
我的托管 bean 的一部分:
@ManagedBean(name="userMB")
@RequestScoped
public class UserManagedBean implements Serializable {
private List<UserDomain> userListe ;
public List<UserDomain> getUserListe() {
this.userListe = new ArrayList<UserDomain>();
this.userListe.addAll(getUserServicee().getAll());
for(UserDomain u : userListe)
System.out.println(u.getFirstName());
return userListe;
}
public void setUserListe(List<UserDomain> userListe) {
this.userListe = userListe;
}
我的 jsf.xhtml 文件的一部分:
<h:form>
<h:outputText value="USER's rights list: "></h:outputText>
<p:dataTable id="userss" var="userr" value="#{userMB.userListe}" style="width: 10%">
<h:column>
<f:facet name="header"><h:outputText value="FirstName" /></f:facet>
<h:outputText value="#{userr.firstName}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="LastName" /></f:facet>
<h:outputText value="#{userr.lastName}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Action" /></f:facet>
<h:commandLink value="Edit" action="#{userMB.editAction(userr)}" />
</h:column>
</p:dataTable>
<h:commandButton value="OK" action="#{userMB.userProp}" />
</h:form>
请注意,我的用户已正确设置其属性的所有 getter 和 setter,谢谢您的帮助