Ich habe Verwendungen von <c:if ...>
an einer Stelle von JSP-Code und <c:when ...>
in der anderen bemerkt. Die Dinge, die sie machen, sehen für mich gleich aus. Sind diese beiden Befehle nur Aliase?Was ist der Unterschied zwischen <c:if> und <c:when>?
17
A
Antwort
30
<c:if
ist eine einfache if-Klausel. <c:when>
hat Optionen für mehrere if-Klauseln und eine else-Klausel. Vergleichen:
<c:if test="${foo == 'bar'}">...</c:if>
mit
<c:choose>
<c:when test="${foo == 'bar'}">...</c:when>
<c:when test="${foo == 'baz'}">...</c:when>
<c:otherwise>...</c:otherwise>
</c:choose>
19
<c:if>
unterstützt keine Art von "else" oder "else if" -Funktionalität. <c:when>
tut. Also, wenn Sie etwas analog zu
if (some_condition) {
// ...
}
dann <c:if>
verwenden müssen. Wenn Sie etwas analog zu
if (some_condition) {
// ...
} else if (some_other_condition) {
// ...
} else {
// ...
}
dann <c:choose>
mit <c:when>
und (optional) <c:otherwise>
verwenden müssen.