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
プロジェクトの依存関係。また、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.1 API および JSTL 1.2.1 。
Jstlおよびstandardのjarファイルを追加した後でも、同じ問題が発生しました。私にとっては、プロジェクトにターゲットランタイムを追加した後で解決しました。
[プロジェクトプロパティ]> [ターゲットランタイム]に移動し、使用しているサーバーを選択します(Tomcat 7.0の場合)。
Jsp-sを含むフォルダーをEclipseのソースフォルダーにすることで、私の同じ問題を解決できます。以下のように:
- プロジェクトのプロパティを開きます(プロジェクトを右クリックして、[プロパティ]を選択します)
- Java Build Path)を選択し、[Source]タブを選択し、[Add Folder]をクリックして、jsp-sを含むフォルダーを選択し、[OK]
内部のWEB-INFディレクトリにlibsフォルダーを作成し、以下のようにjstl、標準jarを追加します。
男は、プロジェクトのビルドパスにstandard.jarファイルを含めるだけです。
あなたのpom.xmlに追加するだけ
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
実行してみてください
mvn Eclipse:eclipse -Dwtpversion=2.0
問題を解決します