Cómo utilizar la opción if-else en JSTL

Resuelto Srinivasan asked hace 13 años • 7 respuestas

¿Hay una etiqueta if-else disponible en JSTL?

Srinivasan avatar Jan 04 '11 02:01 Srinivasan
Aceptado

Sí, pero es muy torpe, por ejemplo.

<c:choose>
  <c:when test="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>
skaffman avatar Jan 03 '2011 19:01 skaffman

Además de la respuesta de Skaffman, si no, puedes usar un operador ternario como este

<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
laksys avatar Nov 07 '2012 04:11 laksys

No hay si no, sólo si.

<c:if test="${user.age ge 40}">
 You are over the hill.
</c:if>

Opcionalmente puedes 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>
 avatar Nov 30 '2014 20:11

Me salí con la mía simplemente usando dos etiquetas if, pensé en agregar una respuesta en caso de que sea útil para alguien más:

<c:if test="${condition}">
  ...
</c:if>
<c:if test="${!condition}">
  ...
</c:if>

Si bien técnicamente no es if-elseper se, el comportamiento es el mismo y evita el enfoque torpe de usar la chooseetiqueta, por lo que dependiendo de qué tan complejo sea su requisito, esto podría ser preferible.

jonk avatar Feb 19 '2016 14:02 jonk

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>
ankit avatar Oct 27 '2017 13:10 ankit