<%@ 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 のライブラリ記述子が見つかりません=
私もこれを使います
<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
しかし、エラーは発生しません。
ライブラリにjstl.jar
を含めましたか?そうでない場合は、おそらくこれが問題の原因です。また、「tld」フォルダもありますか?また、web.xml
はどうマッピングしましたか?
その他の情報については、 jstl に関する情報をご覧ください。
私はこのスレッドが1年前のものであることを知っていますが、プロジェクトにターゲットサーバーを設定することで問題を解決できたのと同じ問題を経験しました。
つまり、プロジェクトを右クリックして「プロパティ」->「ターゲットランタイム」を選択し、Webアプリを実行するサーバー(Tomcat 6または7)を選択します。
@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が述べたように、サーバーを適切に構成して、プロジェクトのターゲットサーバーを設定することをお勧めします。
次のように追加してみてください。
<%@taglib uri="http://Java.Sun.com/jstl/core" prefix="c"%>
代わりに
<%@taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c"%>
Javax.servlet.jsp.jstl-api-1.2.1.jarとstandard-1.1.2.jarの両方を追加します
いくつかのヒットとトライアルの後、私はこれを使用します。これは私のために動作します。
<%@ taglib uri="http://Java.Sun.com/jstl/core" prefix="c" %>
警告:BalusCが正しく述べたように、これはJSTL 1.0で機能します。
検証ツールを使用して、Eclipseで* .jspおよび* .xmlファイルを「検証」してみました。
「ディレクトリ/ファイルを右クリック->-検証」とそれは働いた!
Eclipse junoを使用します。
それが役に立てば幸い!
おそらく、組み込みのJSTLサポートのないサーバー(たとえば、Tomcatの一部のバージョン)をターゲットにしているでしょう。独自のJSTLタグライブラリをプロビジョニングする必要があります。
:を使用
standard.jar
問題を解決します。
/ WEB-INF/libフォルダーの2つのjarの下に貼り付けてから、プロジェクトのプロパティに移動し、jarを追加してこれらの2つのjarを選択し、[OK]、[OK]をクリックします。
standard.jar、jstl-1.0.2.jar
次のように書く必要があります
<%@taglib uri="http://Java.Sun.com/jstl/core" prefix="c"%>
Jstl-1.0およびstandard.jarがあることを確認してくださいBOTHファイルがクラスパスに配置されている
<%@ taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c" %>
については何の関係もありません。
プロジェクトに移動して右クリックし、プロジェクトメニュー->プロジェクトのクリーンアップエラーは間違いなくmavenを削除および更新します。
この問題を解決しました。以下のtaglibを使用
<%@ taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
jstl-1.2.jarを追加します
2つの必要なjarファイルを/ WEB-INF/libフォルダー(つまり、/ WEB-INF/libフォルダーの下のjstl-1.2.jarとjavax.servlet.jsp)に配置すると、完全に機能します。
それが役に立てば幸い。 :)
ライブラリにjstl jarを追加し、ビルドパスとデプロイメントアセンブリに追加しましたが、うまくいきました。それから、jstl jarをwebcontent内のlibフォルダーにコピーしただけで、うまくいきました。デフォルトでは、Eclipseのlibフォルダーに含まれています
これは動作するはずです
<%@ 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を含める必要はありません。
もう1つのソリューションをミックスに追加します。サンプルアプリをダウンロードしましたが、このtaglibでのみ圧着されていました。属性の周りの単一引用符は気にしませんでした。
<%@ taglib prefix='c' uri='http://Java.Sun.com/jsp/jstl/core' %>
それらを変更し、jstl.jarがWebアプリにあることを確認したら、行ってよかったです。