Comment puis-je vérifier la taille d'une collection avec JSTL?Vérifier la taille d'une collection avec JSTL
Quelque chose comme:
<c:if test="${companies.size() > 0}">
</c:if>
Comment puis-je vérifier la taille d'une collection avec JSTL?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
longueur (java.lang.Object) - Retourne le nombre d'éléments dans une collection, ou le nombre de caractères dans un chaîne.
mis ce en haut de la page pour permettre à 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>
Donc, pour tester avec la longueur d'un collection:
<c:if test="${fn:length(companies) gt 0}">
<p>It is greater than 0</p>
</c:if>
Notez l'utilisation de gt
au lieu de >
comme >
n'est pas autorisé à l'intérieur des balises jsp/jsf.
Vous pouvez utiliser comme cette
${fn:length(numList)}
utilisation ${fn:length(companies) > 0}
pour vérifier la taille. Cela renvoie un booléen
Comme le suggère @Joel et Chorley dans les commentaires @ Mark précédents:
${empty companies}
Ce contrôle pour les listes nulles et vides/collections/tableaux. Il ne vous obtient pas la longueur mais il satisfait l'exemple dans le PO. Si vous pouvez vous en sortir, c'est plus propre que d'importer une bibliothèque de balises et sa syntaxe croustillante comme gt
.
Pour que votre déclaration jstl au travail, vous devez changer pour:
<c:if test="${companies.size > 0}"></c:if>
Pour cela, vous devez ajouter une méthode à la classe des entreprises appelée getSize qui retourne la taille int. puis utilisez simplement la même instruction jstl que vous avez utilisée auparavant.
Voici un exemple pour la méthode getSize
que vous devez ajouter à votre classe entreprises:
public int getSize(){
return companies.size();
}
Je voulais juste noter que si la nécessité d'obtenir la taille est de déterminer si la collection est non vide, la L'opérateur "vide" est utile car il vérifie également null. – Joel
+1. Utilisez-le comme ceci –
Je suis d'accord avec Mark ici. Pourquoi importer plus de cruft dans votre page pour un tag? Utilisez la solution de Mark, c'est plus propre. – ResourceReaper