Java JSTLのcoreタグライブラリのサンプル

JavaのJSTLのcoreタグライブラリのサンプルです。
JSTL(JavaServer Pages Standard Tag Library)とは、5つのタグライブラリ(Core,I18n,Database,XML,Functions)からなるカスタムタグです。

実行環境
・Windows10
・Standard Taglib 1.2.5

目次

1.jarファイルの取得

以下のサイトからJSTLのjarファイルをダウンロードします。

Apache Tomcatのサイト
https://tomcat.apache.org/download-taglibs.cgi

ダウンロードするファイル
・taglibs-standard-impl-1.2.5.jar
・taglibs-standard-jstlel-1.2.5.jar
・taglibs-standard-spec-1.2.5.jar

2.jarファイルの配置

ダウンロードしたファイルを\WEB-INF\lib配下に配置します。
・taglibs-standard-impl-1.2.5.jar
・taglibs-standard-jstlel-1.2.5.jar
・taglibs-standard-spec-1.2.5.jar

Eclipseでは以下に配置します。

 

アクセスするURLは以下です。
http://localhost:8080/test2/test1.jsp

3.<c:set>タグと<c:out>タグ

10行目の<c:set>タグは、colorという変数に赤黄青という値をセットしています。
12行目の<c:out>タグは、変数colorの値(赤黄青)を出力します。

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<c:set var="color" value="赤黄青" />

<c:out value="${color}" />

</body>
</html>

4.<c:if>タグ

12行目の<c:if>タグは、変数numの値が10より小さいかというif文です。
if文の判定はtrueになるので11行目の10以下ですという文言が表示されます。
※12行目のtestという文字は仕様で必要です。削除できません。

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<c:set var="num" value="3"/>

<c:if test="${num < 10 }">
10以下です
</c:if>

</body>
</html>

5.<c:choose>タグ

12-16行目の<c:choose>タグは、変数numの値が5以上か or 3以上か or それ以外かを判定しています。
判定の結果は3以上になるので14行目の3以上が表示されます。
※13,14行目のtestという文字は仕様で必要です。削除できません。

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<c:set var="num" value="3"/>

<c:choose>
	<c:when test="${num >= 5}">5以上</c:when>
	<c:when test="${num >= 3}">3以上</c:when>
	<c:otherwise>3より小さい</c:otherwise>
</c:choose>

</body>
</html>

6.<c:forEach>タグ

10-12行目の<c:forEach>タグは、1から3まで1ずつ増えて(増分1)ループします。
結果11行目の文言が以下のように3回表示されます。
→1.オレンジ 2.オレンジ 3.オレンジ

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<c:forEach var="i" begin="1" end="3" step="1">
	<p>${i}.オレンジ</p>
</c:forEach>

</body>
</html>

リンク

以下は、Apache Standard Taglib 1.2.1 APIのリンクです。
https://tomcat.apache.org/taglibs/standard/apidocs/

関連の記事

Java サーブレットのセッションのサンプル(getSession)
Java サーブレット・JavaBeans・jsp・EL式のサンプル



△上に戻る