
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を実質的に使うことができます。複数条件がある場合は、こちらを使いましょう!
実行結果
![]()







この記事へのコメントはありません。