JSFpanelGrid动态填充

时间:2013-01-26 12:52:42

标签: jsf layout grid

我想使用固定数量的列渲染panelGrid,但是从列表中加载元素。代码应如下:

<h:panelGrid columns="3">
    <h:outputText value="Header 1"/>
    <h:outputText value="Header 2"/>
    <h:outputText value="Header 3"/>

    <ui:repeat value="#{bean.collection}" var="obj">
        <p:panel>
            <h:outputText value="#{obj.value}"/>
        </p:panel>
    </ui:repeat>
</p:panelGrid>

问题是这个代码没有像我预期的那样呈现,因为所有面板都包含在panelGrid生成的第一个TD中,我希望每3个元素有一个行中断。似乎所有重复块都在渲染之前执行。我相信我可以获得这种行为。我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

ui:repeat是一个组件,它是组件树的一部分。要创建您计划的内容,请尝试使用代码处理程序c:forEach

<c:forEach items="#{bean.collection}" var="obj">
  <p:panel>
    <h:outputText value="#{obj.value}"/>
  </p:panel>
</c:forEach>