2009-09-23 6 views
111

J'ai essayé d'évaluer si cette liste de tableau est vide ou non, mais aucun d'entre eux ont même compilé:si la liste est Évaluer JSTL vide

<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 vérifier si une ArrayList est vide?

Répondre

221

empty est un opérateur.

<c:if test="${empty myObject.featuresList}"> 
+10

Je ne sais pas ce que je déteste le plus, le jstl, mon manque de connaissance, ou mon fichu serveur d'applications qui prend des années pour recharger le changement jsp le plus simple. Merci bobince. J'aurais dû demander cela avant ici. Avez-vous une référence jsl pour moi? – OscarRyz

+15

Voir: http://ndpsoftware.com/JSPXMLCheatSheet.html – RHSeeger

+2

Bien qu'il soit documenté que l'opérateur vide ne joue pas bien avec Set Implémentation des collections dans JSTL antérieures à v2.0 – casey

62

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

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

Et here's la documentation de l'étiquette.

Questions connexes