<c:if>
xmlns:c="http://java.sun.com/jsp/jstl/core"

SYNOPSIS

<c:if
test*="条件式"
var="変数名"
scope="page|request|session|application"
>
条件式が真だった場合に評価する内容.
</c:if>

説 明

test 属性の評価結果に基づいてタグ内を出力するかどうかを分岐します。 <c:if> はネストさせたり内部に別の拡張タグを持つことが可能です。

else や else if に相当する分岐が必要な場合は <c:choose> を使用してください。

属 性

test="条件式"
required

条件分を EL で記述します。

var="変数名"
optional

test 属性で指定した条件の評価結果を格納する変数名です。 java.lang.Boolean オブジェクトが格納されます。

scope="page|request|session|application"
optional

変数を格納するスコープです。 page, request, session, application を指定できます。

内 容

条件式が真だった場合に評価する内容。通常の JSP として記述することができます。

使用例

現在時刻が 2000 年以前なら「前世紀的」と出力します。
JSP
<jsp:useBean id="current" class="java.util.Date" />
<c:if test="${current.year le 100}">前世紀的</c:if>
現在時刻が 2000 年より後なら「今世紀的」と出力します。この時の評価結果は変数 century に格納され後の処理で使用することが出来ます。
JSP
<jsp:useBean id="current" class="java.util.Date" />
<c:if var="century" test="${current.year gt 100}">今世紀的</c:if><br>
<c:out value="${century}" />
Map 型の変数 errorMessage にパラメータ名 userName に対応するエラーメッセージが格納されている場合、その入力フィールドの隣に赤いアスタリスクを表示します。
JSP
ユーザ名: <input type="text" name="userName">
<c:if test="${not empty errorMessage['userName']}">
    <span style="color:red;">*</span>
</c:if>
2007年末に上記の JSP を実行した結果は以下の通り。
HTML
今世紀的<br>
true
CVS 2008/03/09