web-dev-qa-db-fra.com

Comment faire l'équivalent d'un bloc Java If-Else en utilisant JSTL?

Une question rapide JSTL. J'utilise habituellement des scriptlets dans mes pages jsp, mais j'ai un conflit en raison d'autres choses dans ma page. Je comprends que vous pouvez faire quelque chose comme ça en utilisant JSTL, bien que je ne le connaisse pas. Voici ce que je coderais en utilisant Java pour cela:

if (var1.equalsIgnoreCase(var2)) { 

some html stuff

} else {

more html

}

Alors, peut-il être converti et traduit pour être utilisé avec JSTL?

Merci d'avance et si vous avez des questions, faites le moi savoir.

23
Dan

Vous pouvez utiliser <c:choose> pour cela. La equalsIgnoreCase() peut être effectuée en mettant les deux côtés en minuscules par fn:toLowerCase() .

<c:choose>
    <c:when test="${fn:toLowerCase(var1) == fn:toLowerCase(var2)}">
        Both are equal.
    </c:when>
    <c:otherwise>
        Both are not equal.
    </c:otherwise>
</c:choose>

Ou lorsque vous ciblez un conteneur Servlet 3.0 (Tomcat 7, Glassfish 3, JBoss AS 6, etc.) avec un web.xml Déclaré conforme Servlet 3.0, vous pouvez invoquer la méthode equalsIgnoreCase().

<c:choose>
    <c:when test="${var1.equalsIgnoreCase(var2)}">
        Both are equal.
    </c:when>
    <c:otherwise>
        Both are not equal.
    </c:otherwise>
</c:choose>
56
BalusC
<c:if test=${var1 == var2)}>
</c:if>

Il n'y a pas d'autre est JSTL vous devez faire plusieurs If (Sucks I know)

Doit ajouter ceci en haut

<%@ taglib uri="http://Java.Sun.com/jstl/core" prefix="c" %>
2
RMT