0

我有一个包含属性列表的循环,我想在 2 列上显示此列表,但我不能。它们以无序显示,如果我使用 c: For Each place of ui: repeat 问题已解决

<p:panel id="panlecart2" header ="Caracteristique selon la categorie" toggleable="true" rendered="true" style="width=900px;">            
            <h:panelGrid  id="panlecart" columns="2" cellpadding="5" rendered="true" style="width=900px;">                         
            <ui:repeat var="var1" value="#{composantbean.categorie.proprietes.toArray()}">            
            <h:outputText value="#{var1.nomProp }(#{var1.unite}  )"  />
            <h:inputText value="" />  

            </ui:repeat>             
         </h:panelGrid>
          </p:panel>   

我能解决这个问题吗.helpe 请:)

4

2 回答 2

1

您可以切换到 using<h:dataTable>来迭代组件:

<h:dataTable var="var1" value="#{composantbean.categorie.proprietes.toArray()}">
    <h:column>
        <h:outputText value="#{var1.nomProp }(#{var1.unite}  )"  />
    </h:column>
    <h:column>
        <h:inputText value="" />  
    </h:column>
</h:dataTable>

将其包含在 a<p:panel>中以使其工作。否则,请使用它,<c:forEach>因为它非常适合您的用例。

于 2013-04-29T13:31:00.127 回答
1

ui:repeat在比 更晚的阶段呈现c:forEach。这里有一个解释

c:forEach是要走的路,因为这是在视图构建时调用的。

ui:repeat在视图渲染期间调用,因此p:panel不知道由ui:repeat.

于 2013-04-29T13:01:59.143 回答