jstl <c:choose>, <c:when>, <c:otherwise>標籤

2019-10-16 22:11:58

<c:choose>標記的作用就像一個Java的switch語句,它允許在多個替代方案之間進行選擇。 在switch語句中有case語句,而<c:choose>標籤具有<c:when>標籤,作用效果一樣。 就像switch語句中的default子句指定一個預設動作一樣,<c:choose><c:otherwise>作為預設子句。

屬性

  • <c:choose>標籤沒有任何屬性。
  • <c:when>標籤具有以下列出的一個屬性。
  • <c:otherwise>標籤沒有任何屬性。

<c:when>標籤具有以下屬性 -

屬性 描述 必需 預設
test 評估條件 None

檔案:c_choose.jsp -

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>c:choose 範例</title>
</head>
<body>
    <div style="margin: auto; width: 80%">
        <c:set var="salary" scope="session" value="${5600*2}" />
        <p>
            Your salary is :
            <c:out value="${salary}" />
        </p>
        <c:choose>
            <c:when test="${salary <= 0}">
            Salary is very low to survive.
         </c:when>

            <c:when test="${salary > 5000}">
            Salary is very good.
         </c:when>

            <c:otherwise>
            No comment sir...
         </c:otherwise>
        </c:choose>
    </div>

</body>
</html>

執行上面範例程式碼,得到以下輸出結果 -

Your salary is : 11200 
Salary is very good.