Sprawdź, czy lista jest pusta JSTL

121

Próbowałem ocenić, czy ta lista tablic jest pusta, czy nie, ale żadna z nich nawet się nie skompilowała:

<c:if test="${myObject.featuresList.size == 0 }">                   
<c:if test="${myObject.featuresList.length == 0 }">                 
<c:if test="${myObject.featuresList.size() == 0 }">                 
<c:if test="${myObject.featuresList.length() == 0 }">                   
<c:if test="${myObject.featuresList.empty}">                    
<c:if test="${myObject.featuresList.empty()}">                  
<c:if test="${myObject.featuresList.isEmpty}">  

Jak mogę ocenić, czy ArrayList jest pusta?

OscarRyz
źródło

Odpowiedzi:

245

emptyjest operatorem :

emptyOperatora jest prefiks operacji, które mogą być wykorzystane do określenia, czy wartość ta jest zerowa lub pusty.

<c:if test="${empty myObject.featuresList}">
bobince
źródło
2
Chociaż zostało udokumentowane, że pusty operator nie działa dobrze z implementacją zbioru kolekcji w JSTL przed wersją 2.0
casey
67

Są też tagi funkcyjne, nieco bardziej elastyczne:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${fn:length(list) > 0}">

A oto dokumentacja tagów.

Steve B.
źródło