Comment puis-je vérifier la taille d'une collection avec JSTL?
Quelque chose comme:
<c:if test="${companies.size() > 0}">
</c:if>
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.
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
.
Vous pouvez utiliser comme ça
${fn:length(numList)}