Come posso controllare la dimensione di una raccolta con JSTL?Controllare una dimensione di raccolta con JSTL
Qualcosa di simile:
<c:if test="${companies.size() > 0}">
</c:if>
Come posso controllare la dimensione di una raccolta con JSTL?Controllare una dimensione di raccolta con JSTL
Qualcosa di simile:
<c:if test="${companies.size() > 0}">
</c:if>
Da: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html
lunghezza (java.lang.Object) - Restituisce il numero di elementi in una raccolta, o il numero di caratteri in un stringa.
mettere questo nella parte superiore della pagina per consentire lo spazio dei nomi fn:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
e utilizzare come questo nella tua pagina JSP:
<p>The length of the companies collection is : ${fn:length(companies)}</p>
Quindi, per testare con lunghezza di un collezione:
<c:if test="${fn:length(companies) gt 0}">
<p>It is greater than 0</p>
</c:if>
Nota l'uso di gt
invece di >
come >
non è consentito all'interno dei tag jsp/jsf.
È possibile utilizzare come questo
${fn:length(numList)}
uso ${fn:length(companies) > 0}
per verificare le dimensioni. Ciò restituisce un valore booleano
Come suggerito da @ Joel e @ Marco Chorley nei commenti precedenti:
${empty companies}
Questa verifica la presenza di liste/collezioni/array nulli e vuoti. Non ti dà la lunghezza ma soddisfa l'esempio nell'OP. Se riesci a farla franca, è più semplice dell'importazione di una libreria di tag e della sua sintassi croccante come gt
.
Affinché la sua dichiarazione JSTL a lavorare, si dovrebbe cambiare a:
<c:if test="${companies.size > 0}"></c:if>
Per questo si deve aggiungere un metodo alla classe società denominata getSize che restituisce la dimensione come int. e poi usa la stessa frase jstl che hai usato prima.
Ecco un esempio per il metodo getSize
che si dovrebbe aggiungere alla classe aziende:
public int getSize(){
return companies.size();
}
Volevo solo notare che, se la necessità di ottenere la dimensione è quello di determinare se la raccolta non è vuota, allora il l'operatore "vuoto" è utile poiché controlla anche null. – Joel
+1. Usalo in questo modo –
Sono d'accordo con Mark qui. Perché importare più cruft nella tua pagina per un tag? Usa la soluzione di Mark, è più pulito. – ResourceReaper