Avalie se a lista está vazia JSTL

121

Eu tenho tentado avaliar se esta lista de matriz está vazia ou não, mas nenhuma delas foi compilada:

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

Como posso avaliar se um ArrayList está vazio?

OscarRyz
fonte

Respostas:

245

emptyé um operador :

O emptyoperador é uma operação de prefixo que pode ser usada para determinar se um valor é nulo ou vazio.

<c:if test="${empty myObject.featuresList}">
bobince
fonte
2
Embora seja documentado que o operador vazio não joga bem com Set implementação de Coleções em JSTL antes v2.0
casey
67

Há também as tags de função, um pouco mais flexíveis:

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

E aqui está a documentação da tag.

Steve B.
fonte