web-dev-qa-db-fra.com

Vérifier une taille de collection avec JSTL

Comment puis-je vérifier la taille d'une collection avec JSTL?

Quelque chose comme:

<c:if test="${companies.size() > 0}">

</c:if>
229
Sergio del Amo

De: http://Java.Sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html

length (Java.lang.Object) - Renvoie le nombre d'éléments d'une collection ou le nombre de caractères d'une chaîne.

placez-le en haut de la page pour autoriser l'espace de noms fn:

 <%@ taglib prefix="fn" uri="http://Java.Sun.com/jsp/jstl/functions" %>

et utilisez comme ceci dans votre page jsp:

<p>The length of the companies collection is : ${fn:length(companies)}</p>

Donc pour tester avec la longueur d'une collection:

<c:if test="${fn:length(companies) gt 0}">
   <p>It is greater than 0</p>
</c:if>

Notez que l'utilisation de gt au lieu de > en tant que > n'est pas autorisée dans les balises jsp/jsf.

418
Martlark

Comme suggéré par @Joel et @Mark Chorley dans des commentaires précédents:

${empty companies}

Ceci vérifie les listes/collections/tableaux nuls et vides. Cela ne vous donne pas la longueur mais cela correspond à l'exemple du PO. Si vous pouvez vous en tirer, c'est plus clair que d'importer une bibliothèque de balises et sa syntaxe croustillante comme gt.

30
Josh

Vous pouvez utiliser comme ça

${fn:length(numList)}
11
user1364215