我注意到在一个JSP代码中使用了<c:if ...>
而在另一个地方注意到了<c:when ...>
。他们做的事情对我来说都是一样的。这两个命令只是别名吗?
答案 0 :(得分:47)
<c:if
是一个简单的if子句。 <c:when>
具有多个if子句和else子句的选项。比较:
<c:if test="${foo == 'bar'}">...</c:if>
与
<c:choose>
<c:when test="${foo == 'bar'}">...</c:when>
<c:when test="${foo == 'baz'}">...</c:when>
<c:otherwise>...</c:otherwise>
</c:choose>
答案 1 :(得分:26)
<c:if>
不支持任何类型的“else”或“else if”功能。 <c:when>
。所以如果你需要类似于
if (some_condition) {
// ...
}
然后使用<c:if>
。如果你需要类似于
if (some_condition) {
// ...
} else if (some_other_condition) {
// ...
} else {
// ...
}
然后将<c:choose>
与<c:when>
和(可选)<c:otherwise>
一起使用。