2

私は Eclipse Kepler で動的 Web プロジェクトに取り組んでいます。JSTL を使用して単純な JSP を作成しようとしてい<c:forEach>ます。そのために、jstl-1.2.jarライブラリの下に必要な JAR を含め、次のステートメントを JSP に追加しました。

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

ただし、Run as --> Run on Serverを使用して実行すると、次のエラーが表示されます。

org.apache.jasper.JasperException: /test.jsp(4,61) PWC6188: The absolute uri:     http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application  

すでに多くのリンクを参照しましたが、これがどのように発生し、どのように解決できるかわかりません。

4

3 に答える 3

1

そのために、必要な JAR jstl-1.2.jar をライブラリの下に含めました。

これにより、実行時ではなく、コンパイル時にのみ使用可能になります。

プロジェクトのBuild PathおよびDeployment Assemblyプロパティで行ったすべての操作を元に戻す必要があります。どこでどのような変更を行ったのかわからない場合は、現在のプロジェクトを破棄して、プロジェクトを最初から再作成し、それが何であるかを本当に理解するまで、プロジェクトのビルド パス展開アセンブリのプロパティに決して触れないことを忘れないでください。内密に行う (つまり、IDE を使用せずにコマンド プロンプトで最初から WAR を作成、ビルド、デプロイできる場合)。

適切な手順は次のとおりです。

  • プロジェクトのWebContent/WEB-INF/libフォルダーを開きます。
  • jstl-1.2.jarそこにファイルをドロップします。

それでおしまい。これ以上何もする必要はありません。プロジェクトのプロパティをいじる必要はありません。Eclipse はそこで必要な魔法を自動的に実行します。

以下も参照してください。


更新:コメントによると、

web.xml はバージョン 2.4 に宣言されており、Basic Server: J2EE Preview at localhost を使用しています。

あなたの問題の原因はそこにあります。JSTL 1.2 には最低でも Servlet 2.5 が必要であり、「J2EE プレビュー」は完全に時代遅れです。Tomcat 7を取得(コア ZIP ファイルを選択) し、解凍して Eclipse に統合し、プロジェクトを Tomcat に追加し、web.xmlServlet 3.0 と互換性があるように修正してから、Tomcat を起動し、お気に入りの Web ブラウザーに目的の URL を入力します。

于 2013-11-12T10:38:52.613 に答える
0

がディレクトリと配置アセンブリにjstl-1.2.jar含まれていることを確認してください。WEB-INF/lib

  1. プロジェクトを右クリック > プロジェクトのプロパティ
  2. 展開アセンブリ
  3. [追加]、[フォルダ] の順にクリックします
  4. WEB-INF/lib フォルダーを選択します。
于 2013-11-12T10:30:11.733 に答える