31

JSTL を使用しようとしていますが、次のエラーが発生します。

Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

これはどのように発生し、どうすれば解決できますか?

4

8 に答える 8

49

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 )についてのコメントで言及していることに注意してください。

于 2013-03-15T14:36:57.443 に答える
15

jstlと標準のjarファイルを追加した後でも、同じ問題が発生しました。私にとっては、プロジェクトにターゲット ランタイムを追加した後に解決しました。

Project Properties > Targeted Runtimes に移動し、使用しているサーバーを選択します (私にとっては Tomcat 7.0)。

于 2013-09-18T05:48:12.963 に答える
4

WEB-INF ディレクトリ内に libs フォルダを作成し、以下のように標準の jar ファイルである jstl を追加します。ここに画像の説明を入力

于 2015-06-09T11:14:00.530 に答える
1

standard.jarプロジェクトのビルド パスにファイルを含めるだけです。

于 2013-06-30T09:27:18.553 に答える
1

pom.xml に追加するだけです

    <!-- jstl -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency> 

そして実行してみてください

mvn eclipse:eclipse -Dwtpversion=2.0

問題を解決します

于 2013-11-04T15:43:07.870 に答える
-1

ランタイム サポートのためにこの 3 つのファイルも追加します`

スナップショットによると、エラーの主な理由は、lib フォルダーで c.tld を定義していないため、このようなエラーが発生することです。

taglib に関するこの lib コンテンツ情報

于 2016-06-05T15:08:17.550 に答える