Оценить, пуст ли список JSTL

121

Я пытался оценить, пуст этот список массивов или нет, но ни один из них даже не скомпилирован:

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

Как я могу оценить, пуст ли ArrayList?

OscarRyz
источник

Ответы:

245

emptyэто оператор :

emptyОператор является префиксом операция , которая может быть использована для определения, является ли значение нулевым или пустым.

<c:if test="${empty myObject.featuresList}">
bobince
источник
2
Хотя документально подтверждено, что пустой оператор не очень хорошо работает с реализацией Set коллекций в JSTL до версии 2.0
Кейси
67

Также есть теги функций, более гибкие:

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

А вот и документация по тегу.

Стив Б.
источник