<c:choose>、<c:when>和<c:otherwise>在一起連用,可以實現Java語言中的if-else語句的功能。例如以下代碼根據username請求參數的值來打印不同的結果:
<c:choose>
<c:when test="${empty param.username}">
Nnknown user.
</c:when>
<c:when test="${param.username=='Tom'}">
${param.username} is manager.
</c:when>
<c:otherwise>
${param.username} is employee.
</c:otherwise>
</c:choose>
以上標簽等價於以下Java程序片段:
<%
String username=request.getParameter("username");
if(username==null){
//對應第一個<c:when>標簽的主體
out.print("Nnknown user.");
}else if(username.equals("Tom")){
//對應第二個<c:when>標簽的主體
out.print(username+" is manager.");
}else{
//對應<c:otherwise>標簽的主體
out.print(username+" is employee.");
}
%>
<c:choose>、<c:when>和<c:otherwise>標簽的使用必須符合以下語法規則:
<c:when>和<c:otherwise>不能單獨使用,它們必須位於<c:choose>父標簽中。
在<c:choose>標簽中可以包含一個或多個<c:when>標簽。
在<c:choose>標簽中可以不包含<c:otherwise>標簽。
在<c:choose>標簽中如果同時包含<c:when>和<c:otherwise>標簽,那么<c:otherwise>必須位於<c:when>標簽之后。
