我正在尝试使用两个列表创建<h:dataTable>
。一个列表包含列名,另一个列表包含将填充表的数据。我需要包含列名的列表,因为第二个中的数据具有的属性多于我想要显示的属性。我怎样才能做到这一点?
答案 0 :(得分:5)
是的,如果您使用<c:forEach>
来迭代列名并生成<h:column>
所需的<h:dataTable>
组件,则可以。您可以在EL中使用括号表示法[]
将列名称用作“动态”bean属性名称(或甚至作为Map
键)。
<h:dataTable value="#{bean.rows}" var="row">
<c:forEach items="#{bean.columnNames}" var="columnName">
<h:column>#{row[columnName]}</h:column>
</c:forEach>
</h:dataTable>