Évaluer si la liste est vide JSTL

121

J'ai essayé d'évaluer si cette liste de tableaux est vide ou non, mais aucun d'entre eux n'a même compilé:

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

Comment puis-je évaluer si une ArrayList est vide?

OscarRyz
la source

Réponses:

245

emptyest un opérateur :

L' emptyopérateur est une opération de préfixe qui peut être utilisée pour déterminer si une valeur est nulle ou vide.

<c:if test="${empty myObject.featuresList}">
bobince
la source
2
Bien qu'il soit documenté que l'opérateur vide ne joue pas bien avec l'implémentation Set des collections dans JSTL avant la v2.0
casey
67

Il y a aussi les balises de fonction, un peu plus flexibles:

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

Et voici la documentation des balises.

Steve B.
la source