Ho notato usanze di <c:if ...>
in un posto di codice JSP e <c:when ...>
nell'altro. Le cose che fanno sembrano uguali per me. Questi due comandi sono solo alias?Qual è la differenza tra <c:if> e <c:when>?
17
A
risposta
30
<c:if
è una semplice clausola if. <c:when>
ha opzioni per più if-clausole e un'altra clausola. Confronto:
<c:if test="${foo == 'bar'}">...</c:if>
con
<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>
non supporta alcun tipo di funzionalità "else" o "else if". <c:when>
fa. Quindi, se avete bisogno di qualcosa di analogo al
if (some_condition) {
// ...
}
quindi utilizzare <c:if>
. Se avete bisogno di qualcosa di analogo al
if (some_condition) {
// ...
} else if (some_other_condition) {
// ...
} else {
// ...
}
quindi utilizzare <c:choose>
con <c:when>
e (opzionalmente) <c:otherwise>
.