Existe-t-il une balise if-else disponible dans JSTL?Comment utiliser l'option if-else dans JSTL
Répondre
Oui, mais c'est un peu maladroit, par exemple.
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
Pour simple si-que vous pouvez utiliser l'opérateur ternaire comme celui-ci
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
C'est une bonne réponse, mais elle est très pertinente pour son utilité. –
Il n'y a pas si-else, juste si.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
vous pouvez éventuellement utiliser choose-quand:
<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>
Salut @iwxfer, votre lien ci-dessus n'est pas disponible dès maintenant, s'il vous plaît mettre à jour, si vous pouvez comme vous bon score, d'autres sage l'enlever. – Ajay2707
Je suis parti avec simplement en utilisant deux si les étiquettes, pensé que je voudrais ajouter une réponse au cas où il est utile à quelqu'un d'autre:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
alors que techniquement pas un if-else
en soi, le comportement est le même et évite l'approche maladroite d'utiliser la balise choose
, donc en fonction de la complexité de votre exigence est la pourrait être préférable.
downvoter s'il vous plaît commenter – jonk
Considérons le cas où la condition est quelque chose de compliqué et laide comme $ {pas param.age gt 42 et someOtherVar eq 'foobar'}. Vous devriez stocker la condition dans une variable booléenne temporaire afin que vous puissiez faire! Condition, ou écrire l'inverse de cette condition. Les deux moche. La syntaxe "sinon" est un inverse garanti. –
En effet, une condition complexe nécessiterait soit une variable locale soit l'écriture de l'inverse, mais ces deux options fonctionneraient toujours. J'ai précisé que cela dépendrait de la complexité de l'exigence quant à savoir si cette approche serait préférable à l'étiquette «choisir». – jonk
vous devez utiliser ce code:
avec <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
et
<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. comment configurer et utiliser jstl dans websphere
- 2. comportement ifelse dans R
- 3. Commande "ifelse" dans "include"
- 4. jstl tag ré-utiliser dans un pot
- 5. conditions dans ifelse en r
- 6. JSTL - utiliser des variables dans un xpath?
- 7. Utiliser l'objet ResultSet dans JSP sans JSTL
- 8. Utiliser des balises JSTL dans GSP
- 9. Comment puis-je utiliser une variable JSTL dans un scriptlet?
- 10. Comment puis-je utiliser JSTL dans le jsp suivant
- 11. déclaration ifelse avec iFrames
- 12. Instructions ifelse pour un dataframe dans R
- 13. JSTL Concaténer Chaîne à utiliser en html
- 14. Problème avec ifelse dans le script PHP
- 15. Comment écrire correctement cette instruction ifelse dans R
- 16. ifelse basée sur plusieurs conditions
- 17. Comment utiliser une variable JSTL comme nom d'un lien HTML
- 18. Version JSTL à utiliser avec JSF 2.1
- 19. Besoin d'aide pour utiliser <c:forEach> dans JSP/JSTL
- 20. Comment mixer href et text dans jstl?
- 21. Erreur d'argument inutilisée dans les instructions ifelse imbriquées
- 22. Pourquoi ifelse convertit un data.frame en une liste: ifelse (TRUE, data.frame (1), 0))! = Data.frame (1)?
- 23. Comment comparer les paramètres dans JSTL
- 24. Comment le format de sortie dans JSTL
- 25. Comment créer des modèles dans JSTL JSP
- 26. comment obtenir la valeur dans jstl
- 27. Comment mélanger href dans le code jstl
- 28. JSTL dans la balise Struts
- 29. problème avec le comportement data.table ifelse
- 30. commande IfElse utilisant colnames par R
En dehors de l'étiquette d'emballage (choisir), je ne vois pas comment cela est plus bavard que si/elseif/else serait. Une étiquette d'emballage constitue à peine «maladroite comme l'enfer», non? –
@Steven: C'est la nature XML de celui-ci. Il y a plus de caractères dans le passe-partout que dans la logique actuelle. – skaffman
Ah, d'accord. La même chose pourrait être réglée pour ' ' alors, aussi. –