
JSTLで、条件分岐を行うことができるタグとしては下記です。
条件文用のタグ
タグ | 説明 |
---|---|
c:if | 条件分岐 |
c:choose | 複数の条件分岐 |
では、実際に試して見ましょう。
サンプルで使用するJavaBeans
package bean; public class TestBean { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
c:if(単一の条件とする場合。)
サンプル
<%@page contentType="text/html; charset=UTF-8" %> <%@page import="bean.*" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <HTML> <HEAD> <TITLE>JSTLTest</TITLE> </HEAD> <BODY> <% TestBean bean = new TestBean(); bean.setName("太郎"); bean.setAge(40); request.setAttribute("bean",bean); %> <c:if test="${bean.age>=40}"> ${bean.name}さんは、もう中年です…。 </c:if> </BODY> </HTML>
ポイント
- c:ifの「test」属性にEL式を使用しています。スコープに格納された値を使用して条件分岐を行わせることができます。
- elseは使えないので、注意です。(複数条件文がある場合は、「c:choose」を使いましょう。
実行結果
c:choose
サンプル
<%@page contentType="text/html; charset=UTF-8" %> <%@page import="bean.*" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <HTML> <HEAD> <TITLE>JSTLTest</TITLE> </HEAD> <BODY> <% TestBean bean = new TestBean(); bean.setName("太郎"); bean.setAge(39); request.setAttribute("bean",bean); %> <c:choose> <c:when test="${bean.age>=40}"> ${bean.name}さんは、もう中年です…。 </c:when> <c:otherwise> ${bean.name}さんは、まだ若いです! </c:otherwise> </c:choose> </BODY> </HTML>
ポイント
- c:ifでは実現できなかった、elseを実質的に使うことができます。複数条件がある場合は、こちらを使いましょう!
この記事へのコメントはありません。