JSPのc:ifタグの使い方を徹底解説!属性一覧とサンプルコード付き
JSTL(JSP Standard Tag Library)のコアタグライブラリに含まれる <c:if> タグは、指定された式を評価し、その結果が true である場合にのみ、タグ本文に記述した内容を出力します。JSPページ内で条件分岐を実現したい場合に利用される、最も基本的なタグの一つです。
<c:if>タグの属性
<c:if> タグには、以下の属性が用意されています。
| 属性 | 説明 | 必須 | デフォルト値 |
|---|---|---|---|
| test | 評価する条件式 | はい | なし |
| var | 条件の評価結果を格納する変数名 | いいえ | なし |
| scope | 評価結果を格納する変数のスコープ | いいえ | page |
使用例
以下は、セッションスコープに給与(salary)を設定し、その値が2000より大きいかどうかを判定して画面に出力するサンプルコードです。
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title><c:if> Tag Example</title>
</head>
<body>
<c:set var = "salary" scope = "session" value = "${2000*2}"/>
<c:if test = "${salary > 2000}">
<p>My salary is: <c:out value = "${salary}"/></p>
</c:if>
</body>
</html>
このコードでは、まず <c:set> タグによって salary に ${2000*2} の計算結果である 4000 が代入されます。続く <c:if> タグの条件式「${salary > 2000}」は true と評価されるため、タグ内の内容が出力されます。実行結果は以下の通りです。
My salary is: 4000
補足:else相当の処理を書きたい場合
<c:if> タグには else 句が用意されていません。条件に一致しなかった場合の処理も記述したい場合は、<c:choose>・<c:when>・<c:otherwise> の3つのタグを組み合わせて使用しましょう。複数の条件分岐が必要な場面では、こちらの方が可読性の高いコードになります。
-
JSPで数値をフォーマットする方法|fmt:formatNumberタグの使い方を解説
JSTL(JSP Standard Tag Library)の<fmt:formatNumber>タグは、数値・パーセント・通貨などを指定した形式で整形して表示するために使用します。金額の桁区切りや小数点以下の桁数制御など、Webアプリケーションの画面表示に欠かせないフォーマット処理を、スクリプトレットを書かずに簡単に実現できるのが特徴です。 fmt:formatNumberタグの主な属性 <fmt:formatNumber>タグには、以下の属性が用意されています。 属性説明必須デフォルト値 value表示する数値はいなし typeNUMBER(数値)、CURR
-
JSPでXMLを解析する方法|JSTL x:parseタグの使い方を徹底解説
<x:parse>タグは、属性で指定されたXMLデータ、またはタグ本体に記述されたXMLデータを解析(パース)するために使用します。JSTL(JSP Standard Tag Library)のXMLタグライブラリに属するタグで、Javaコードを直接書かずにJSP上でXMLを処理できるのが大きな特徴です。 x:parseタグの主な属性 <x:parse>タグには、以下の属性が用意されています。 属性説明必須デフォルト値var解析結果のXMLデータを格納する変数いいえなしxml解析対象のドキュメント本文(String型またはReader型)いいえタグ本体systemId