[Jsp] Évaluez les balises JSTL c vides ou vides



Answers

pour vérifier également la chaîne vide, je suggère de suivre

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

<c:if test="${empty fn:trim(var1)}">

</c:if>

Il gère également les valeurs nulles

Question

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

J'ai une variable de nom var1 et je peux l'afficher, mais je veux ajouter un comparateur pour le valider.

<c:out value="${var1}" />

Je veux valider quand il est nul ou vide (mes valeurs sont des chaînes).




Voici un exemple de la façon de valider un int et un String que vous passez du Java Controller au fichier JSP.

MainController.java:

@RequestMapping(value="/ImportJavaToJSP")
public ModelAndView getImportJavaToJSP() {
    ModelAndView model2= new ModelAndView("importJavaToJSPExamples");

    int someNumberValue=6;
    String someStringValue="abcdefg";
    //model2.addObject("someNumber", someNumberValue);
    model2.addObject("someString", someStringValue);

    return model2;
}

importJavaToJSPExamples.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<p>${someNumber}</p>
<c:if test="${not empty someNumber}">
    <p>someNumber is Not Empty</p>
</c:if>
<c:if test="${empty someNumber}">
    <p>someNumber is Empty</p>
</c:if>
<p>${someString}</p>
<c:if test="${not empty someString}">
    <p>someString is Not Empty</p>
</c:if>
<c:if test="${empty someString}">
    <p>someString is Empty</p>
</c:if>



Ce code est correct mais si vous avez entré beaucoup d'espace ('') au lieu de la chaîne nulle ou vide, renvoyez false.

Pour corriger cela, utilisez l'expression régulière (ce code ci-dessous vérifie si la variable est nulle ou vide ou vide comme org.apache.commons.lang.StringUtils.isNotBlank):

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
        <c:if test="${not empty description}">
            <c:set var="description" value="${fn:replace(description, ' ', '')}" />
            <c:if test="${not empty description}">
                  The description is not blank.
            </c:if>
        </c:if>



Vous pouvez utiliser

    ${var == null}

alternativement.




Links