Стандартный набор компонентов JSF не имеет такого компонента, в котором он был бы логически назван <h:columns>
. Однако существуют сторонние библиотеки компонентов, которые имеют такой компонент. Например, Томагавк с <t:columns>
и PrimeFaces с <p:columns>
. Компоненты Tomahawk не создают никакого дополнительного look'n'feel, поэтому это идеально, если вы хотите полностью контролировать CSS самостоятельно. PrimeFaces генерирует настраиваемый look'n'feel с помощью CSS themeroller framework , так что это идеально, если вы хотите использовать themeroller для управления look'n'feel.
Вот пример того, как вы можете использовать Томагавк <t:columns>
, скопированный и слегка измененный по сравнению с его документацией тега :
<t:dataTable value="#{bean.rows}" var="row">
<t:columns value="#{bean.columns}" var="column">
<f:facet name="header">
<h:outputText value="#{column.name}"/>
</f:facet>
<h:outputText value="#{row[column.name]}"/>
</t:columns>
</t:dataTable>