Vérifier la taille d'une 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>
221
demandé sur skaffman 2009-05-12 13:08:51

5 réponses

de: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html

longueur (java.lang.Objet) - renvoie le nombre d'éléments d'une collection, ou le nombre de caractères d'une chaîne.

mettez ceci en haut de la page pour autoriser l'espace de noms fn:

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

et utiliser comme ceci dans votre page jsp:

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

ainsi tester avec la longueur de la collection:

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

L'utilisation de gt au lieu de > comme > n'est pas autorisée à l'intérieur des étiquettes jsp/jsf.

403
répondu Martlark 2016-06-28 06:56:43

comme suggéré par @Joel et @Mark Chorley dans les commentaires précédents:

${empty companies}

cette commande vérifie les listes nulles et vides/collections/tableaux. Il ne vous donne pas la longueur mais il satisfait l'exemple dans L'OP. Si vous pouvez vous en tirer, c'est juste plus propre que d'importer une bibliothèque d'étiquettes et sa syntaxe croustillante comme gt .

27
répondu Josh 2014-06-12 10:38:16

vous pouvez utiliser comme ceci

${fn:length(numList)}
10
répondu Brad Larson 2012-10-15 02:43:42

pour que votre déclaration jstl fonctionne, vous devez la changer en:

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

pour cela vous devez ajouter une méthode à la classe des entreprises appelée getSize qui renvoie la taille comme int. et puis utilisez juste la même déclaration jstl que vous avez utilisé avant.

voici un exemple pour la méthode getSize que vous devriez ajouter à votre classe de compagnies:

public int getSize(){
    return companies.size();
}
-1
répondu Eduardo Dennis 2017-01-23 10:22:06

utilisez ${fn:length(companies) > 0} pour vérifier la taille. Ceci renvoie un booléen

-2
répondu Supun Dharmarathne 2014-03-21 07:03:29