2

エンティティのリストを返す ui:repeat があります。返されたリストが空であることを知る方法はありますか?

<ui:repeat id="resulta" value="#{testController.testList}" var="list"> 
   <div>list.name</div>
</ui:repeat>

ui:repeat が空の場合、「リストが空です」という div を表示するようなもの

varStatus について聞いたことがあります -> Facelets はタグ インデックスを繰り返します

しかし、空のリストには何かがあるとは思いません。それともありますか?

更新しました

<ui:repeat id="resulta" value="#{testController.testList}" var="list"> 
   <div>list.name</div>
    <h:panelGroup rendered="#{empty list}">
        list is empty!
    </h:panelGroup>
</ui:repeat>

「リストが空です!」をレンダリングしようとしました。リストが空なのに表示​​されない場合。

4

2 に答える 2

8
<ui:repeat id="resulta" 
           value="#{testController.testList}" 
           var="list">
    <div>
        #{list.name}
    </div>

</ui:repeat>

<h:panelGroup rendered="#{empty testController.testList}">
    List is empty!
</h:panelGroup>

renderedtrue の場合にのみレンダリングされる条件ステートメントです。h:panelGrouplastをdivではなくとしてレンダリングする場合は、要素にspan追加することを検討してください。layout='block'

于 2013-05-16T05:40:55.153 に答える
1

<ui:repeat>次のように、空のリスト メッセージを要素の外側に表示できます。

<ui:repeat id="resulta" 
       value="#{testController.testList}" 
       var="list" 
       rendered="#{not empty testController.testList}">
    <div>
        #{list.name}
    </div>
</ui:repeat>
<h:panelGroup rendered="#{empty testController.testList}">
    list is empty!
</h:panelGroup>
于 2013-05-16T06:15:16.060 に答える