0

JSTLを使用するとエラーが発生します。手伝ってください。

Tomcat 7でjstl-impl-1.2.jarとjstl-api-1.2.jarを使用していて、standard.jspとjstl.jspを取り出しましたが、それでもこのエラーが発生します。

エラーコード

java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
javax.servlet.jsp.jstl.core.LoopTagSupport.unExposeVariables(LoopTagSupport.java:624)

Web.xml

<web-app 
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_3_0.xsd"
version="3.0">
4

2 に答える 2

1

あなたの/WEB-INF/lib、またはさらに悪いことに、あなたのJRE/libまたはは、異なる古いバージョンのサーブレットコンテナのmake / versionのJRE/lib/extようなサーブレットコンテナ固有のライブラリで汚染されています。jsp-api.jarwebapp の .xml でそれらを取り除く必要があります/WEB-INF/lib。これらのライブラリは、サーブレットコンテナ自体によって既に提供されているはずです。これは、あなたの場合は Tomcat です。

あなたの特定の例ではjavax.servlet.jsp.PageContext.getELContext()、JSP 2.1 以降にのみ存在するメソッドは、Tomcat の内部クラスによって要求されますが、古いバージョンのメソッド (明らかに JSP 2.0 以前) があるため、JSP API では見つかりませんでしたTomcat 独自のものよりもクラスローディングが優先される webapp。

つまり、JSTL を Tomcat 6 互換のものにアップグレードするまで、Tomcat 7 は常に Tomcat 5.5 以前のように動作していました。

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

于 2013-02-25T11:29:59.513 に答える
0

バージョン管理の問題のように聞こえますが、ある種のjarファイルが競合している可能性があります。これが役立つかもしれないのを見てください。

于 2013-02-25T11:26:08.510 に答える