我在使用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">
答案 0 :(得分:1)
您的/WEB-INF/lib
或者更糟糕的是,您的JRE/lib
或JRE/lib/ext
受到servletcontainer特定库的污染,例如jsp-api.jar
的不同版本和旧版本的servletcontainer make / version 。您需要在webapp /WEB-INF/lib
中删除它们。这些库应该由servletcontainer本身提供,在你的情况下是Tomcat。
在您的特定示例中,Tomcat的内部类请求仅存在自JSP 2.1以来的javax.servlet.jsp.PageContext.getELContext()
方法,但在JSP API中找不到它,因为您使用的是旧版本的(您的webapp中显然是JSP 2.0或更早版本,它在Tomcat自己的类加载中优先。
换句话说,在将JSTL升级为兼容Tomcat 6的情况之前,Tomcat 7一直像tomcat 5.5或更早版本一样运行。
答案 1 :(得分:0)
听起来像版本问题,可能是某种冲突的jar文件。请参阅this可能会有帮助。