Primefaces ui:repeat和c:foreach不返回同一组织
我有一个包含属性列表的循环 我想在两列中显示此列表,但我不能。 它们按无序显示,如果我对ui:repeat的每个位置使用c: 问题解决了Primefaces ui:repeat和c:foreach不返回同一组织,primefaces,foreach,uirepeat,Primefaces,Foreach,Uirepeat,我有一个包含属性列表的循环 我想在两列中显示此列表,但我不能。 它们按无序显示,如果我对ui:repeat的每个位置使用c: 问题解决了 <p:panel id="panlecart2" header ="Caracteristique selon la categorie" toggleable="true" rendered="true" style="width=900px;"> <h:panelGrid id="panl
<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>
我可以解决这个问题吗。请帮助:)
ui:repeat
在比c:forEach
更晚的阶段渲染。这是一个例子
c:forEach
是一种方法,因为它是在视图构建时调用的
ui:repeat
在视图渲染期间被调用,因此p:panel
将不知道由ui:repeat
创建的数据。您可以切换到使用
迭代组件:
<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>
将其封装在
中以使其正常工作。否则,请使用
,因为它非常适合您的用例。我必须使用ui:repeat,因为我必须用ajax在这个面板中显示一些动态内容!!!有什么解决方案吗?你所说的动态内容是什么意思?你能给我们举个例子吗?您提供的示例在使用c:forEach
时效果非常好,当用户选择一个项目时,我使用selectoneMenu显示selectect项目的详细信息。面板的内容根据所选项目显示。我对foreach有问题,所以我使用Repeat,正如我所说。c:foreach的问题不支持ajaxThx现在可以使用h:dataTable了。感谢您的合作