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>

rendered是一个条件语句,只有当它为真时才会呈现。如果您想将最后一个呈现h:panelGroup为 adiv而不是 a 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 回答