Jsf 基于列名列表在h:dataTable中创建h:column组件

Jsf 基于列名列表在h:dataTable中创建h:column组件,jsf,jsf-2,datatable,Jsf,Jsf 2,Datatable,我正在尝试使用两个列表创建一个。一个列表包含列名,另一个列表包含将填充表的数据。我需要包含列名的列表,因为第二个列表中的数据具有比我希望显示的更多的属性。如何实现这一点?是的,如果您使用迭代列名并生成所需的组件,则可以。您可以在EL中使用大括号符号[],将列名用作“动态”bean属性名(甚至用作映射键) #{行[列名称]} 是的,如果使用迭代列名并生成所需的组件,则可以。您可以在EL中使用大括号符号[],将列名用作“动态”bean属性名(甚至用作映射键) #{行[列名称]} <h:d

我正在尝试使用两个列表创建一个
。一个列表包含列名,另一个列表包含将填充表的数据。我需要包含列名的列表,因为第二个列表中的数据具有比我希望显示的更多的属性。如何实现这一点?

是的,如果您使用
迭代列名并生成
所需的
组件,则可以。您可以在EL中使用大括号符号
[]
,将列名用作“动态”bean属性名(甚至用作
映射
键)


#{行[列名称]}

是的,如果使用
迭代列名并生成
所需的
组件,则可以。您可以在EL中使用大括号符号
[]
,将列名用作“动态”bean属性名(甚至用作
映射
键)


#{行[列名称]}
<h:dataTable value="#{bean.rows}" var="row">
    <c:forEach items="#{bean.columnNames}" var="columnName">
        <h:column>#{row[columnName]}</h:column>
    </c:forEach>
</h:dataTable>