java.lang.NoClassDefFoundError: javax/servlet/jsp/el/ELException
使用
<c:set var="testVar" value="testVal" />
所有其他JSTL标记都有效。
jsp 1.2
Java 1.4
但是,当我在全局容器中查看此jsp时,上述工作正常。换句话说,IT部门在server.xml文件中创建了一个条目来注册我的Web应用程序。我的Web应用程序空间中出现上述错误。但是,如果我查看jsp文件位于此Web应用程序文件夹之外,它可以正常工作,我想在服务器的某种默认的wep应用程序中。
在我的Web应用程序lib文件夹中,我有开发locall时在Eclipse中使用的jstl.jar和standard.jar库。我的Eclipse环境设置为模仿我们过时的生产服务器的java和jsp版本。
答案 0 :(得分:4)
您正在为servletcontainer使用一个太新的JSTL版本。为JSP 1.2设计的JSTL 1.0具有JSTL JAR文件中包含的类ELException
。为JSP 2.0设计的JSTL 1.1不再包含它,因为它与几个EL特定类一起移动到JSP 2.0 API(由servletcontainer本身提供)。
当您在JSP 1.2容器上运行JSTL 1.1时,它会抱怨ELException
丢失,因为JSP 1.2无法使用它。
因此,要解决您的问题,请将JSTL版本降级到1.0。它可用here。
答案 1 :(得分:0)
Java 1.4很老了。
我会验证您正在使用的standard.jar和jstl.jar的版本,因为URI从一个版本更改为下一个版本。我想知道你的本地机器和服务器上是否有不同版本的JSTL JAR。
我强烈建议您升级JDK。甚至JDK 5也已达到其支持寿命的终点。你正在使用JDK 1.4在非常薄的冰上滑冰。