web-dev-qa-db-ja.com

解決方法:「http://Java.Sun.com/jsp/jstl/core」のタグライブラリ記述子が見つかりません

<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
<%@ page import="com.library.controller.*"%>
<%@ page import="com.library.dao.*" %>
<%@ page import="Java.util.*" %>
<%@ page import="Java.lang.*" %>
<%@ page import="Java.util.Date" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Return Page</title>
</head>
<body bgcolor="#aabcde">
<div align="right"><a href="Login.jsp">Logout</a></div>
<table align="center" border="2" cellspacing="3" cellpadding="3">
<tr><th>BookID</th><th>BookName</th><th>Issuedate</th><th>returndate</th></tr>
<c:forEach var="element" items="${list}">
    <tr>
        <td>${element.getBookid}</td><td>${element.getBookname()}</td>  
        <td>${element.getIssuedate()}</td><td>${element.getReturndate()}</td>
    </tr>
</c:forEach>

Eclipse IDEは赤い下線を表示しており、フォーカスを合わせると、タグは次のとおりです。 http://Java.Sun.com/jsp/jstl/core のライブラリ記述子が見つかりません=

89
Samarth2011

私もこれを使います

<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>

しかし、エラーは発生しません。

ライブラリにjstl.jarを含めましたか?そうでない場合は、おそらくこれが問題の原因です。また、「tld」フォルダもありますか?また、web.xmlはどうマッピングしましたか?

その他の情報については、 jstl に関する情報をご覧ください。

61
ace

私はこのスレッドが1年前のものであることを知っていますが、プロジェクトにターゲットサーバーを設定することで問題を解決できたのと同じ問題を経験しました。

つまり、プロジェクトを右クリックして「プロパティ」->「ターゲットランタイム」を選択し、Webアプリを実行するサーバー(Tomcat 6または7)を選択します。

97
willix

@aceが述べたように、プロジェクトでjstl.jarが必要になるので、mavenを使用している場合、この依存関係を追加できます。

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

ソース: http://mvnrepository.com/artifact/jstl/jstl/

それが役に立てば幸い。

EDIT:ほとんどのサーバーにはすでにこの依存関係があります。mavenを使用して追加すると、バージョンの競合(Method/ClassNotFoundExceptionなど)が発生する可能性があります。 @willixが述べたように、サーバーを適切に構成して、プロジェクトのターゲットサーバーを設定することをお勧めします。

34
rvazquezglez

次のように追加してみてください。

<%@taglib uri="http://Java.Sun.com/jstl/core" prefix="c"%>

代わりに

<%@taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c"%>
13
Muthu

Javax.servlet.jsp.jstl-api-1.2.1.jarとstandard-1.1.2.jarの両方を追加します

6
Karthikeyan K

いくつかのヒットとトライアルの後、私はこれを使用します。これは私のために動作します。

<%@ taglib uri="http://Java.Sun.com/jstl/core" prefix="c" %>

警告:BalusCが正しく述べたように、これはJSTL 1.0で機能します。

5
Nishant

検証ツールを使用して、Eclipseで* .jspおよび* .xmlファイルを「検証」してみました。

「ディレクトリ/ファイルを右クリック->-検証」とそれは働いた!

Eclipse junoを使用します。

それが役に立てば幸い!

3
WalterVi

おそらく、組み込みのJSTLサポートのないサーバー(たとえば、Tomcatの一部のバージョン)をターゲットにしているでしょう。独自のJSTLタグライブラリをプロビジョニングする必要があります。

3
McDowell

:を使用

standard.jar

問題を解決します。

2

/ WEB-INF/libフォルダーの2つのjarの下に貼り付けてから、プロジェクトのプロパティに移動し、jarを追加してこれらの2つのjarを選択し、[OK]、[OK]をクリックします。

standard.jar、jstl-1.0.2.jar

2
Antesh Sharma

次のように書く必要があります

<%@taglib uri="http://Java.Sun.com/jstl/core" prefix="c"%>

Jstl-1.0およびstandard.jarがあることを確認してくださいBOTHファイルがクラスパスに配置されている

1
Saurabh Naik

<%@ taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>については何の関係もありません。

プロジェクトに移動して右クリックし、プロジェクトメニュー->プロジェクトのクリーンアップエラーは間違いなくmavenを削除および更新します。

1

この問題を解決しました。以下のtaglibを使用

<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>

jstl-1.2.jarを追加します

1
Bhagwan Singh

2つの必要なjarファイルを/ WEB-INF/libフォルダー(つまり、/ WEB-INF/libフォルダーの下のjstl-1.2.jarとjavax.servlet.jsp)に配置すると、完全に機能します。

それが役に立てば幸い。 :)

1
Jitesh Beniwal

ライブラリにjstl jarを追加し、ビルドパスとデプロイメントアセンブリに追加しましたが、うまくいきました。それから、jstl jarをwebcontent内のlibフォルダーにコピーしただけで、うまくいきました。デフォルトでは、Eclipseのlibフォルダーに含まれています

0
ravi

これは動作するはずです

<%@ taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>

さらに、なぜこれらすべてのクラスをインポートするのか教えてください

<%@ page import="com.library.controller.*"%> 
<%@ page import="com.library.dao.*" %> 
<%@ page import="Java.util.*" %> 
<%@ page import="Java.lang.*" %> 
<%@ page import="Java.util.Date" %>

デフォルトパッケージであるJava.langを含める必要はありません。

0
Krishna

もう1つのソリューションをミックスに追加します。サンプルアプリをダウンロードしましたが、このtaglibでのみ圧着されていました。属性の周りの単一引用符は気にしませんでした。

<%@ taglib prefix='c' uri='http://Java.Sun.com/jsp/jstl/core' %>

それらを変更し、jstl.jarがWebアプリにあることを確認したら、行ってよかったです。

0
Dan Doyon