Gibt es ein If-Else-Tag in JSTL?
Abgesehen vom Wrapper-Tag (choose) sehe ich nicht, wie dies umständlicher wäre als if/elseif/else. Ein Wrapper-Tag allein stellt doch wohl kaum 'unheimlich sperrig' dar, oder?
Gibt es ein If-Else-Tag in JSTL?
Abgesehen vom Wrapper-Tag (choose) sehe ich nicht, wie dies umständlicher wäre als if/elseif/else. Ein Wrapper-Tag allein stellt doch wohl kaum 'unheimlich sperrig' dar, oder?
@Steven: Es ist die XML-Natur davon. Es gibt mehr Zeichen im Standardgerüst als im eigentlichen Code.
Ich kam einfach damit davon, nur zwei if-Tags zu verwenden, dachte ich, ich würde eine Antwort hinzufügen, falls es für jemand anderen nützlich ist:
...
...
auch wenn es technisch gesehen nicht wirklich ein if-else
ist, ist das Verhalten dasselbe und vermeidet den umständlichen Ansatz, den choose
-Tag zu verwenden, also je nach Komplexität Ihrer Anforderung könnte dies bevorzugt werden.
Betrachten Sie den Fall, wenn die Bedingung etwas Kompliziertes und Häßliches ist wie ${not param.age gt 42 und someOtherVar eq 'foobar'}. Sie müssten die Bedingung in einer temporären boolean-Variablen speichern, so dass Sie !condition machen können oder die Umkehrung dieser Bedingung schreiben können. Beides hässlich. Die "andererseits" -Syntax ist eine garantierte Umkehrung.
Tatsächlich würde eine komplexe Bedingung entweder eine lokale Variable erfordern oder das Schreiben des Inversen, aber beide Optionen würden immer noch funktionieren. Ich habe klargestellt, dass es davon abhängt, wie komplex die Anforderung ist, ob dieser Ansatz gegenüber dem choose
-Tag bevorzugt würde.
Ich stimme dem zu. Wenn du nur noch ein anderes hast, ist es weniger Markup als c:choose zu verwenden.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Möglicher Duplikat von if...else within JSP or JSTL