【Java】JSTL(JavaServer Pages Standard Tag Library)のバージョンによる違い

JSTL(JavaServer Pages Standard Tag Library)は、JSP(JavaServer Pages)で利用するための標準的なカスタムタグライブラリです。

2020年5月時点での最新バージョンは JSTL 1.2 になります。基本的には最新バージョン以外を使用することはないと思いますが、バージョンにより使用方法などが異なります。

今回は、JSTL のバージョンの違いについてを紹介します。

スポンサーリンク

対応するJSP

使用する JSTL のバージョンにより、必要な JSP のバージョンが異なります。

JSTL 1.0

JSP 1.2 以上が必要になります。

JSTL 1.1

JSP 2.0 以上が必要になります。

JSTL 1.2

JSP 2.1 以上が必要になります。

taglib宣言方法

JSTLを使用するには taglib の宣言を行う必要があります。使用する JSTL のバージョンにより、指定方法が異なるため注意が必要です。

指定方法の例に記載している prefix は、任意の名称を使用することはできますが、慣習的に良く使用されている名称を記載しています。

JSTL 1.0

URIの指定方法が http://java.sun.com/jstl/core になります。指定方法の例は次ようになります。

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>

【注意】
functions は、JSTL 1.0 では標準機能として用意されていません。

JSTL 1.1以上

URIの指定方法が http://java.sun.com/jsp/jstl/core になります。指定方法の例は次ようになります。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

まとめ

JSTLのバージョンの違いをまとめると以下のようになります。

JSTLバージョン対応するJSPtaglib宣言方法
1.01.2以上http://java.sun.com/jstl/core
1.12.0以上http://java.sun.com/jsp/jstl/core
1.22.1以上http://java.sun.com/jsp/jstl/core