我在JSF中使用,但名称似乎从上到下。我希望看到它们像matrice。图片如下。 这是代码运行时的图片:
但我希望看到它:
<h:dataTable value="#{bean.persons()}" var="myvar">
<h:column>
#{myvar.name}
</h:column>
</h:dataTable>
答案 0 :(得分:1)
dataTable
并非真正适合这项工作的工具。最好使用panelGrid
。在那里,您可以指定渲染其子组件的列数。所以在你的情况下4:
<h:panelGrid columns="4">
<c:forEach items="#{bean.persons()}" var="myvar">
<h:outputText value="#{myvar.name}"/>
</c:forEach>
</h:panelGrid>
因为它会为每个组件创建一个列,所以使用outputText
组件来呈现您的文本。
但是,如果你真的想坚持使用dataTable
,你可以给它一个类(例如class="myTable"
),并使用CSS将它设置为4列:
.myTable * { display: block; }
.myTable tr { width: 25%; float: left; }