我有一个ui:repeat,它返回一个实体列表。有没有办法知道返回的列表是空的?
<ui:repeat id="resulta" value="#{testController.testList}" var="list">
<div>list.name</div>
</ui:repeat>
如果ui:repeat为空,则显示一个div,表示“List is empty”
我听说过varStatus - &gt; Facelets repeat Tag Index
但我不认为有空列表的东西。或者在那里?
已更新
<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>
我试图渲染“列表是空的!”当列表为空但后面没有显示时。
答案 0 :(得分:6)
<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
呈现为div
而不是span
,请考虑将layout='block'
添加到元素中。
答案 1 :(得分: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>