¿Hay una etiqueta if-else disponible en JSTL?
¿Hay una etiqueta if-else disponible en JSTL?
Respuestas:
Sí, pero es torpe como el infierno, por ejemplo
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
<c:if/>
entonces, también.
<c:otherwise>
parece un poco detallado, ¿eh?
Además de la respuesta de skaffman, si no, puede usar un operador ternario como este
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
No hay if-else, solo if.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
Opcionalmente puede usar elegir cuándo:
<c:choose>
<c:when test="${a boolean expr}">
do something
</c:when>
<c:when test="${another boolean expr}">
do something else
</c:when>
<c:otherwise>
do this when nothing else is true
</c:otherwise>
</c:choose>
Me salí con la simple utilización de dos etiquetas if, pensé que agregaría una respuesta en caso de que sea útil para alguien más:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
Aunque técnicamente no es un if-else
per se, el comportamiento es el mismo y evita el enfoque torpe de usar la choose
etiqueta, por lo que, dependiendo de cuán complejo sea su requisito, esto podría ser preferible.
choose
etiqueta.
tienes que usar este código:
con <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
y
<c:select>
<option value="RCV"
${records[0].getDirection() == 'RCV' ? 'selected="true"' : ''}>
<spring:message code="dropdown.Incoming" text="dropdown.Incoming" />
</option>
<option value="SND"
${records[0].getDirection() == 'SND'? 'selected="true"' : ''}>
<spring:message code="dropdown.Outgoing" text="dropdown.Outgoing" />
</option>
</c:select>
Este es un enfoque bueno y eficiente según la perspectiva de complejidad temporal. Una vez que obtenga una condición verdadera, no verificará ninguna otra después de esto. En múltiples If, verificará cada uno y condición.
<c:choose>
<c:when test="${condtion1}">
do something condtion1
</c:when>
<c:when test="${condtion2}">
do something condtion2
</c:when>
......
......
......
.......
<c:when test="${condtionN}">
do something condtionn N
</c:when>
<c:otherwise>
do this w
</c:otherwise>
</c:choose>