java apache - Evaluer si la liste est vide JSTL





standard taglib (3)


empty est un opérateur.

<c:if test="${empty myObject.featuresList}">

J'ai essayé d'évaluer si cette liste de tableau est vide ou non mais aucun d'entre eux n'a même été compilé:

<c:if test="${myObject.featuresList.size == 0 }">                   
<c:if test="${myObject.featuresList.length == 0 }">                 
<c:if test="${myObject.featuresList.size() == 0 }">                 
<c:if test="${myObject.featuresList.length() == 0 }">                   
<c:if test="${myObject.featuresList.empty}">                    
<c:if test="${myObject.featuresList.empty()}">                  
<c:if test="${myObject.featuresList.isEmpty}">  

Comment puis-je évaluer si une ArrayList est vide?




Il y a aussi les tags de fonction, un peu plus flexibles:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${fn:length(list) > 0}">

Et here's la documentation here's l'étiquette.




Comment puis-je valider si une chaîne est nulle ou vide en utilisant les balises c de JSTL?

Vous pouvez utiliser le mot-clé empty dans un <c:if> pour ceci:

<c:if test="${empty var1}">
    var1 is empty or null.
</c:if>
<c:if test="${not empty var1}">
    var1 is NOT empty or null.
</c:if>

Ou le <c:choose> :

<c:choose>
    <c:when test="${empty var1}">
        var1 is empty or null.
    </c:when>
    <c:otherwise>
        var1 is NOT empty or null.
    </c:otherwise>
</c:choose>

Ou si vous n'avez pas besoin de rendre conditionnellement un tas de balises et que vous ne pouvez donc le vérifier qu'à l'intérieur d'un attribut de balise, vous pouvez utiliser l'opérateur conditionnel EL ${condition? valueIfTrue : valueIfFalse} ${condition? valueIfTrue : valueIfFalse} :

<c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" />

Pour en savoir plus sur ces choses ${} (le langage d'expression , qui est un sujet distinct de JSTL ), cochez ici .

Voir également:





java jsp jstl