我在支持bean中有一个Person
个对象列表,其中包含height
,sex
,colour
等属性。如何在JSF中的h:dataTable
中显示这些对象?
答案 0 :(得分:0)
您需要在bean的构造函数或@PostConstruct
中加载它并添加一个返回它的getter。
public class Bean {
private List<Person> persons;
@PostConstruct
public void init() {
persons = loadItSomehow();
}
public List<Person> getPersons() {
return persons;
}
// ...
}
然后,您可以将其绑定到value
的{{1}}。在迭代的每个步骤中,当前迭代的对象(在本例中为<h:dataTable>
)可通过Person
属性中定义的名称获得。您可以使用它来访问属性。您可以使用var
来定义表格列。
<h:column>
这将呈现一个HTML <h:dataTable value="#{bean.persons}" var="person">
<h:column><h:outputText value="#{person.height}" /></h:column>
<h:column><h:outputText value="#{person.sex}" /></h:column>
<h:column><h:outputText value="#{person.colour}" /></h:column>
</h:dataTable>
,每个<table>
只有一个<tr>
,每个Person
只有一个<td>
。