#07:コアライブラリ1 - 条件分岐 c:if, c:choose, c:when, c:otherwise
このチャプターでは、条件分岐に使用する c:if, c:choose, c:when, c:otherwise について学習します。
【index.jsp】<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="jakarta.tags.core" %>
<%
request.setAttribute("i", 3);
%>
<html>
<body>
<c:if test="${i == 0}">
0です
</c:if>
<c:if test="${i == 1}">
1です
</c:if>
<c:choose>
<c:when test="${i == 0}">
0です
</c:when>
<c:when test="${i == 1}">
1です
</c:when>
<c:otherwise>
そのほかです
</c:otherwise>
</c:choose>
</body>
</html>
単純な条件付き実行のために使用します。
test属性で指定された条件式がtrueと評価された場合にのみ、そのボディコンテンツが処理され、出力されます。<c:if test="条件式">
body content
</c:if>
相互排他的な条件付き実行のために使用します。
複数の条件の中から、最初にtrueと評価された条件に対応するボディコンテンツのみを実行したい場合に役立ちます。
Javaのif・else if・else文に似たロジックをJSPページ内で実現するために使用します。
c:chooseのボディコンテンツには、一つ以上のc:whenと、最後にひとつのc:otherwiseを含めることができます。
c:whenのtest属性のうち、最初にtrueと評価されたボディコンテンツが処理され、出力されます。
もし、どのc:whenもtrueと評価されなかった場合、c:otherwiseが存在すれば、そのボディコンテンツが処理され、出力されます。<c:choose>
<c:when test="${条件式}">
body content
</c:when>
<c:when test="${条件式}">
body content
</c:when>
<c:otherwise>
body content
</c:otherwise>
</c:choose>
新・HTML/CSS入門編
https://paiza.jp/works/html-css/new-primer
新・Java入門編
https://paiza.jp/works/java/new-primer
Jakarta Standard Tag Library
https://jakarta.ee/ja/specifications/tags/
Jakarta Expression Language
https://jakarta.ee/ja/specifications/expression-language/