我有一个包含属性列表的循环我想在2列上显示这个列表,但是我不能。如果我对ui: repeat的每个位置使用c:,它们将按unordered显示问题解决
<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>
如何解决这个问题,请帮助:)
您可以切换到使用<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>
将其封闭在<p:panel>
中以使其工作。否则,使用<c:forEach>
,因为它很适合您的用例。
ui:repeat
在c:forEach
之后的阶段呈现。这里有一个解释。
c:forEach
是这里的方法,因为这是在视图构建时调用的。
ui:repeat
在视图呈现期间被调用,因此p:panel
将不知道ui:repeat
正在创建的数据。