JSTL を使用しようとしていますが、次のエラーが発生します。
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
これはどのように発生し、どうすれば解決できますか?
JSPでtaglib定義を使用するか、すべてのページの最初の行にそれを含めることをお勧めします。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstl-1.2
プロジェクトには依存関係も修正されています。また、で少なくとも2.4のサーブレット仕様を使用してくださいweb.xml
。
Mavenの依存関係は次のとおりです(Mavenはオープンソースの開発ツールです)
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
web.xml
書き始めに
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
編集:
@ informatik01が、Mavenリポジトリから入手できる新しいバージョンのJSTLライブラリ( JSTLバージョン1.2.1APIおよびJSTL1.2.1 )についてのコメントで言及していることに注意してください。
jstlと標準のjarファイルを追加した後でも、同じ問題が発生しました。私にとっては、プロジェクトにターゲット ランタイムを追加した後に解決しました。
Project Properties > Targeted Runtimes に移動し、使用しているサーバーを選択します (私にとっては Tomcat 7.0)。
WEB-INF ディレクトリ内に libs フォルダを作成し、以下のように標準の jar ファイルである jstl を追加します。
standard.jar
プロジェクトのビルド パスにファイルを含めるだけです。
pom.xml に追加するだけです
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
そして実行してみてください
mvn eclipse:eclipse -Dwtpversion=2.0
問題を解決します