Prüfen Sie, ob die Liste leer ist. JSTL

121

Ich habe versucht zu bewerten, ob diese Array-Liste leer ist oder nicht, aber keine davon hat sie überhaupt kompiliert:

<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}">  

Wie kann ich bewerten, ob eine ArrayList leer ist?

OscarRyz
quelle

Antworten:

245

emptyist ein Operator :

Der emptyOperator ist eine Präfixoperation , mit der bestimmt werden kann, ob ein Wert null oder leer ist.

<c:if test="${empty myObject.featuresList}">
Bobince
quelle
2
Obwohl dokumentiert ist, dass der leere Operator nicht gut mit der Set-Implementierung von Sammlungen in JSTL vor v2.0 spielt
casey
67

Es gibt auch die Funktions-Tags, die etwas flexibler sind:

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

Und hier ist die Tag-Dokumentation.

Steve B.
quelle