最近、JSPを利用する人も少ないためか、JSTLをTomcatで使うための情報がなさそうな雰囲気でもあるので、メモがてらにポイントを書いておく。
まずは依存関係に入れるJARファイルですが、Mavenであれば以下の感じで追加する。
<dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>3.0.1</version> </dependency>
jakarta.servlet.jsp.jstlが実装なので、これを入れないと動かない。(これでちょっとハマりました…) なので、後者の方を入れないと以下のようなエラーが出ます。
Caused by: org.apache.jasper.JasperException: /WEB-INF/view/index.jsp (line: [1], column: [1]) Unable to find taglib [c] for URI: [jakarta.tags.core]
JARファイルを依存関係に追加しておけば、あとは、taglibの宣言も
<%@taglib prefix="c" uri="jakarta.tags.core"%>
のような感じで、http://〜で指定したuriがjakarta.tags.〜に変わってます。これも書き変えておきます。
この辺を対応すれば、Tomcatの以前のバージョンからも移行できると思います。(javaxからjakartaパッケージにいろいろと変えるという大きな作業はあるとは思いますが…)