Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 使用p:panelGrid和primefaces内的其他ui重复进行ui重复_Jsf_Primefaces_Datagrid - Fatal编程技术网

Jsf 使用p:panelGrid和primefaces内的其他ui重复进行ui重复

Jsf 使用p:panelGrid和primefaces内的其他ui重复进行ui重复,jsf,primefaces,datagrid,Jsf,Primefaces,Datagrid,我在尝试将ui repeat与datagrid一起使用时遇到问题,并且在该网格内使用其他ui repeat 这是我的密码 <ui:repeat var="blockSpace" value="#{providersMB.fillBlockSpaceRsv}" > <p:panelGrid style="margin-top:20px" rendered="#{providersMB.blockSpace}"> <f:facet name="header"&g

我在尝试将ui repeat与datagrid一起使用时遇到问题,并且在该网格内使用其他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>

#{label['displayOrders.label.businessClass']}/p:column>
#{label['displayOrders.label.class']}
#{label['displayOrders.label.reservation']}
#{label['displayOrders.label.configuration']}


第二个uirepeat的值不显示。

ui:repeat在视图渲染期间运行,而p:panelGrid在视图生成期间运行。PanelGrid将在视图构建期间预期其子元素,但由于它们在渲染时可用,因此失败

在第二个ui上尝试此操作:重复。更改用户界面:使用c:forEach重复

<c:forEach items="#{blockSpace.blockSpaceCabin}" var="blockSpaceCabin">
    <p:column>
        <h:outputLabel value="#{blockSpaceCabin.quantity}"/>                     
    </p:column>
</c:forEach>

您也可以使用BalusC的帖子:

另一方面,由于您有一个3列布局,因此#{blockSpace.blockspacecain}内的元素不能超过两个,因此您可以将它们设置在第一个forEach中定义为#{providersMB.fillblockspacesv}的blockSpace元素上。最好不要将jstl标记与jsf标记混合使用,这样可以让您安心