Accéder à la taille d'une collection en JSP/JSTL/EL [dupliquer]

cette question a déjà une réponse ici:

j'ai une variable de liste appelée services dans ma page JSP. J'ai besoin d'ajouter un certain markup à la page s'il y a plus d'un élément dans la liste.

quoi Je voudrais faire est de...

<c:if test="${services.size() gt 1}">
  <!-- markup... -->
</c:if>

mais vous ne pouvez pas invoquer des méthodes sur des objets Java en EL (je pense que c'est peut-être la fois 364823782 que j'ai regretté ce fait). Vous ne pouvez accéder à getters sur les objets Java qu'en laissant tomber "get", par exemple ${user.nom} pour une classe D'utilisateurs qui a une méthode getName ().

Quelle est la bonne façon d'évaluer ce test?

28
demandé sur Jonik 2010-08-27 01:10:48

2 réponses

vous recherchez fn:length(services) . N'oubliez pas de définir l'espace de noms fn.

http://download.oracle.com/javaee/5/tutorial/doc/bnalg.html

45
répondu Thorbjørn Ravn Andersen 2010-08-26 21:15:47

Inclure le tag lib dans le fichier jsp

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

Utiliser

<c:if test="${fn:length(services) gt 1}">
<!-- markup... -->
</c:if>
13
répondu Nickhil 2014-09-02 19:10:59