如何在h:dataTable中显示Person对象列表?

时间:2011-03-31 19:14:07

标签: jsp jsf

我在支持bean中有一个Person个对象列表,其中包含heightsexcolour等属性。如何在JSF中的h:dataTable中显示这些对象?

1 个答案:

答案 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>

另见: