Gibt es in JSTL ein if-else-Tag?Wie verwende ich die Option if-else in JSTL
Antwort
Ja, aber es ist klobig wie die Hölle, z.B. keine if-else, nur wenn
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
Für einfache if-else Sie ternären Operator wie diese
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
Dies ist eine gute Antwort, aber ist sehr situationsbezogen für wie nützlich es wäre. –
ist es verwenden können.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
Optional können Sie verwenden, wählen-wenn:
<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>
Hallo @iwxfer, dein oben stehender Link ist momentan nicht verfügbar, bitte update, wenn du kannst wie du gut punktest, sonst weise es entfernen. – Ajay2707
Ich kam mit nur zwei zu verwenden, wenn Tags, dachte ich, falls eine Antwort hinzufügen würde es sonst der Nutzen für jeden ist:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
während technisch nicht if-else
per se, ist das gleiche Verhalten und vermeidet den klobigen Ansatz der Verwendung des choose
Tag, so dass je nachdem, wie komplex Ihre Anforderung ist dies könnte vorzuziehen sein.
downvoter Bitte Kommentar – jonk
Betrachten Sie den Fall, wenn die Bedingung etwas kompliziert und hässlich ist wie $ {nicht param.age gt 42 und someOtherVar eq 'foobar'}. Sie müssten die Bedingung in einer temporären booleschen Variablen speichern, so dass Sie eine! Condition ausführen oder die Umkehrung dieser Bedingung schreiben könnten. Beide hässlich. Die "andere" Syntax ist eine garantierte Inverse. –
Tatsächlich würde eine komplexe Bedingung entweder eine lokale Variable oder das Schreiben der Umkehrung erfordern, aber beide dieser Optionen würden immer noch funktionieren. Ich stellte klar, dass es davon abhängen würde, wie komplex die Anforderung ist, ob dieser Ansatz dem "Wählen" -Tag vorzuziehen wäre. – jonk
Sie haben diesen Code zu verwenden:
mit <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
und
<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. Wie verwende ich die Option -e in PHP?
- 2. Wie verwende ich die Option --ignore-file von ack? .
- 3. Set HTML Dropdown ausgewählte Option JSTL mit
- 4. Wie verwende ich die Indexvariable einer JSTL forEach-Schleife, um auf einen Map-Eintrag zuzugreifen?
- 5. Wie formatiere ich das Datum in JSTL
- 6. Wie bekomme ich eine Zufallszahl in JSTL?
- 7. Wie runde ich eine Nummer in JSTL?
- 8. Wie „instanceOf“ in JSTL
- 9. Wie verwende ich die Kalenderklasse in Python?
- 10. IfElse mehrere Bedingungen
- 11. Wie verwende ich {} in Emmet?
- 12. Setzen Sie ausgewählte Option auf bestehenden Select-Tag mit JSTL
- 13. Wie verwende ich Radio-Buttons in React?
- 14. JSTL - Wie kann ich Werte an die SQL-Anweisung übergeben
- 15. Wie füge ich die Option -shell-escape in TexShop hinzu
- 16. Wie verwende ich Bootstrap-select?
- 17. Wie isNumeric/IsNumber in JSTL
- 18. Wie verwende ich die Option --header, um Cookies mit Siege zu senden?
- 19. Wie verwende ich jquery, um die Option aus der Auswahlbox zu entfernen
- 20. R für Schleife ifelse
- 21. Ich kann die JSTL tage in Radio-Button verwenden
- 22. Google Tabellen IfElse Funktion
- 23. Wie bekomme ich die Option ID?
- 24. Vektorisiertes ifelse-Rätsel
- 25. Wie verwende ich OpenSSL in GCC?
- 26. Wie formatierter Kalendertyp in JSTL angezeigt wird?
- 27. R: Verschachtelung von `ifelse()`
- 28. wie iterieren jstl Code
- 29. Wie verwende ich die Sammelklasse innerhalb reagieren?
- 30. Wie verwende ich die regexp-me-Bibliothek?
Abgesehen von dem Wrapper-Tag (wählen), ich sehe nicht, wie diese nicht mehr ausführlich ist, als wenn/elseif/sonst wäre es. Ein Wrapper-Tag ist kaum "klobig wie die Hölle", oder? –
@steven: Es ist die XML-Natur davon. Es gibt mehr Zeichen im Textbaustein als in der tatsächlichen Logik. – skaffman
Ah, ok. Dasselbe könnte dann auch für " " eingestellt werden. –