![](/img/trans.png)
[英]c:forEach inside primefaces(e.g. p:panelgrid) inside ui:repeat
[英]ui repeat with p:panelGrid and other ui repeat inside primefaces
我在嘗試使用帶有數據網格的 ui repeat 和此網格內的其他 ui repeat 時遇到問題
這是我的代碼
<ui:repeat var="blockSpace" value="#{providersMB.fillBlockSpaceRsv}" >
<p:panelGrid style="margin-top:20px" rendered="#{providersMB.blockSpace}">
<f:facet name="header">
<p:row>
<p:column>
<h:outputLabel value="#{blockSpace.company}" />
</p:column>
<p:column>#{label['displayOrders.label.businessClass']}/p:column>
<p:column>#{label['displayOrders.label.yankeeClass']}</p:column>
</p:row>
</f:facet>
<p:row>
<p:column>#{label['displayOrders.label.reservation']}</p:column>
<p:column><p:spinner id="basic" value="#{spinnerView.number1}" />
</p:column>
<p:column>
<p:spinner id="spinner" value="#{spinnerView.number1}" />
</p:column>
</p:row>
<p:row>
<p:column>#{label['displayOrders.label.configuration']}</p:column>
<ui:repeat var="blockSpaceCabin"
value="#{blockSpace.blockSpaceCabin}" >
<p:column> <h:outputLabel value="#{blockSpaceCabin.quantity}"/>
</p:column>
</ui:repeat>
</p:row>
</p:panelGrid>
第二個 uirepeat 的值未顯示。
ui:repeat 在視圖渲染期間運行,而 p:panelGrid 在視圖構建期間運行。 PanelGrid 將在視圖構建期間期待它們的子元素,但由於它們在渲染時可用,因此失敗。
在第二個 ui:repeat 上試試這個。 更改 ui:repeat 與 c:forEach
<c:forEach items="#{blockSpace.blockSpaceCabin}" var="blockSpaceCabin">
<p:column>
<h:outputLabel value="#{blockSpaceCabin.quantity}"/>
</p:column>
</c:forEach>
您也可以在此處使用 BalusC 的帖子: c:forEach inside primefaces(eg p:panelgrid) inside ui:repeat
另一方面,因為你有一個 3 列的布局,你不能在 #{blockSpace.blockSpaceCabin} 里面有兩個以上的元素,所以你可以在第一個 forEach 中定義的 blockSpace 元素上將它們設置為 #{providersMB.fillBlockSpaceRsv }. 最好不要將 jstl 標簽與 jsf 混合使用,以免麻煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.