¿Hay una etiqueta if-else disponible en JSTL?Cómo usar la opción if-else en JSTL
Respuesta
Sí, pero es torpe como el infierno, p.
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
Por simple si-else puede utilizar operador ternario como esto
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
Esta es una buena respuesta, pero es altamente situacional por lo útil que sería. –
No hay si-más, sólo si.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
Opcionalmente se puede utilizar elegir -cuando:
<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>
Hola @iwxfer, tu enlace de arriba no está disponible en este momento, por favor actualiza, si puedes como buena puntuación, de lo contrario quítalo. – Ajay2707
me escapé con el simple uso de dos si las etiquetas, que me gustaría añadir una respuesta en caso de que sea de utilidad para cualquier otra persona:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
, mientras que técnicamente no es un if-else
per se, el comportamiento es el mismo y evita el enfoque torpe de la utilización de la etiqueta choose
, por lo que dependiendo de la complejidad de su requerimiento es este podría ser preferible
downvoter comente – jonk
Considere el caso cuando la condición es algo complicado y feo como $ {no param.age gt 42 y someOtherVar eq 'foobar'}. Tendría que almacenar la condición en una variable booleana temporal para que pueda hacer una condición, o escribir el inverso de esa condición. Ambos feos. La sintaxis de "lo contrario" es una inversa garantizada. –
De hecho, una condición compleja requeriría una variable local o escribir la inversa, pero ambas opciones seguirían funcionando. Aclaré que dependerá de qué tan complejo sea el requisito en cuanto a si este enfoque sería preferible a la etiqueta 'choose'. – jonk
que tienen que utilizar 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>
- 1. Conjunto desplegable HTML opción seleccionada usando JSTL
- 2. ¿Cómo puedo usar la variable JSTL en scriptlet?
- 3. ¿Cómo usar JSTL en un proyecto de GWT?
- 4. Buscando un ifelse más eficiente()
- 5. usando Reduce/do.call con ifelse
- 6. Establecer la opción seleccionada en la etiqueta de selección existente con jstl
- 7. ¿Cómo usar la opción '-rune' de 'buscar' en sh?
- 8. Cómo especificar la versión .NET al usar la opción/CLR
- 9. cómo implementar "instanceOf" en JSTL
- 10. if-else vs ifelse con listas
- 11. ¿Cómo usar la opción cfg-dump con Clang 3.0?
- 12. ¿Cómo funciona R's ifelse con los datos de caracteres?
- 13. ¿Cómo agregar JSTL a Maven?
- 14. ¿Cómo dividir correctamente las cadenas en JSTL?
- 15. JSTL foreach en enum
- 16. javax.el.PropertyNotFoundException: utilizando JSTL en JSP
- 17. Comportamiento de R con ifelse y eval en combinación
- 18. ¿Cómo redondeo un número en JSTL?
- 19. ¿Cómo obtener un número aleatorio en JSTL?
- 20. Cómo dar formato a la fecha en JSTL
- 21. ¿Cómo probar los valores enum en la prueba JSTL EL?
- 22. ¿Beneficios de usar JSTL vs Velocity para ver la capa en la aplicación MVC?
- 23. JSTL vs JSP Scriptlets
- 24. Evaluar cadena list.contains en JSTL
- 25. ¿Cómo agregar jstl a un portlet Liferay?
- 26. Expresión anidada en JSP/JSTL
- 27. ¿Cómo capitalizar la primera letra con JSTL/CSS?
- 28. jstl dentro de javascript
- 29. Evaluar si la lista está vacía JSTL
- 30. @ Html.DropDownListFor ¿Cómo agregar la opción?
Aparte de la etiqueta de envoltura (elegir), no veo cómo esto es más detallado que si/elseif/else sería. Una etiqueta de envoltura difícilmente constituye "torpe como el infierno", ¿no? –
@Steven: es la naturaleza XML de la misma. Hay más personajes en la repetición que en la lógica real. – skaffman
Ah, está bien. Lo mismo podría establecerse para ' ' y luego también. –