6

以下のように使用すると、エラーも出力もありません。なぜ動作しp:panelGridないのui:repeatですか?

c:forEach:私はすでに多くのJSFの問題に直面しているため、使用したくありません。

<p:panelGrid>
    <ui:repeat value="#{MyBean.dataList}" var="data">
        <p:row>
            <p:column>
                <h:outputText value="#{data.name}"/>
            </p:column>
            <p:column>
                <h:outputText value="#{data.description}"/>
            </p:column>
        </p:row>
    </ui:repeat>
</p:panelGrid>

MyBean.java

public List<Data> getDataList(){
    List<Data> result = new ArrayList<Data>();
    result.add(new Data("Name 1", "Description 1"));
    result.add(new Data("Name 2", "Description 2"));
    result.add(new Data("Name 3", "Description 3"));
    result.add(new Data("Name 4", "Description 4"));
    return result;
}   

Primefacesで期待される出力

ここに画像の説明を入力してください

4

2 に答える 2

11

ui:repeat実際にはコンポーネント ツリーにコンポーネントを追加しないため、機能しません。

ui:repeatレンダリング段階でのみ機能し、その子コンポーネントを異なる状態で複数回再レンダリングします。

や などの一部のコンポーネントは、正しく機能するために、コンポーネント ツリーに特定の子を持つ必要がありますpanelgriddatatableはこれらを追加しないためui:repeat、このアプローチは機能しません。

申し訳ありませんが、これに対する通常の解決策はc:foreachツリーに子を追加する を使用することです。

https://rogerkeays.com/jsf-c-foreach-vs-ui-repeatを参照してください

于 2012-10-19T11:13:20.360 に答える
0

静的な数値列があるので定義columnsして試してみてください。定義する必要があります。動作します。 しかし、これに使用することをお勧めしますp:panelGrid<p:panelGrid columns="">
primefaces datatable

<p:dataTable id="availableCars" var="car" value="#{tableBean.carsSmall}">  
    <p:column style="width:20px">  
        <h:outputText id="dragIcon"  
            styleClass="ui-icon ui-icon-arrow-4" />  
        <p:draggable for="dragIcon" revert="true" />  
    </p:column>  

    <p:column headerText="Model">  
        <h:outputText value="#{car.model}" />  
    </p:column>  

    <p:column headerText="Year">  
        <h:outputText value="#{car.year}" />  
    </p:column>  

    <p:column headerText="Manufacturer">  
        <h:outputText value="#{car.manufacturer}" />  
    </p:column>  

    <p:column headerText="Color">  
        <h:outputText value="#{car.color}" />  
    </p:column>  
</p:dataTable>  

このコードと primnefaces ショーケースを見つけることができるリンクは次のとおりです。要件を満たすと思います

于 2012-10-19T11:01:41.130 に答える