我想使用 panelgrid/panelgroup 或除数据表之外的任何您可以建议我的东西来显示属性值列表,因为数据表需要列等来显示在这种情况下我不想做的列表。我的输出应该像下面有多个讨论的示例:
员工姓名: 职务:
绩效评估: 感兴趣的领域:
改进:
员工姓名: 职务:
绩效评估: 感兴趣的领域:
改进:
使用 ui:repeat 解决了这个问题。好吧,它也可以使用其中只有列属性的数据表。
<panelGrid>
<datatable value="#{list}" var="lst">
<h:column>
<panelGrid>
<h:outputText value="#{lst.name}"/>
</panelGrid>
</h:column>
</dataTable>
</panelGrid>
或者
<panelGrid>
<ui:repeat value="#{list}" var="lst">
<panelGrid>
<h:outputText value="#{lst.name}"/>
</panelGrid>
</ui:repeat>
</panelGrid>
您可以<ui:repeat>
用于循环目的,因为它提供了对其元素的无标记迭代。value
在迭代中,您可以自由创建任何您想要的标记。这基本上意味着使用一些 CSS,您可以通过使用嵌套<div>
的 s 或通过使用表格生成标签,如<h:panelGrid>
,或通过任何其他方式来实现您想要的布局。
两个例子。第一个,无表:
<ui:repeat value="#{bean.employees}" var="employee">
<div class="employee-block">
<div class="employee-line>
#{msg.title}<h:inputText value=#{employee.title} ... />
...
</div>
</div>
</ui:repeat>
第二个,使用表格:
<ui:repeat value="#{bean.employees}" var="employee">
<h:panelGrid columns="4">
#{msg.title}<h:inputText value=#{employee.title} ... />
...
</h:panelGrid>
</ui:repeat>