我正在尝试设置一个我将在自定义JSP标记中引用的变量,所以我在JSP中有这样的东西:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="path" value="test"/>
但是,当JSP运行时,我收到此错误:
java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
at org.apache.taglibs.standard.tag.common.core.SetSupport.doEndTag(SetSupport.java:140)
我正在使用JSTL 1.2运行Tomcat 5.5和Java 1.5。
我在这里做错了吗?
谢谢!
答案 0 :(得分:5)
这似乎相当多。我们将Hadoop作为依赖项,并且必须进行多次排除。其中一些可能是多余的,但最终有效。我应该注意到,在我开始将Jasper排除在底部之前没有任何变化。
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-api-2.1</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api-2.5</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
</exclusion>
<exclusion>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
</exclusion>
</exclusions>
答案 1 :(得分:2)
看起来你可能有一些版本问题,也许是某种冲突的jar文件。看here,也许它会有所帮助。如果无法解决,则需要提供有关运行时环境的更多信息。
答案 2 :(得分:1)
Tomcat 5.5不支持JSTL 1.2使用的Servlet API 2.5。
升级到Tomcat 6.0或降级Servlet / JSP / JSTL版本。