![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
在jsp中想用<c:foreach>遍历一个ArrayList,但是总是抛如下异常:java.lang.NoClassDefFoundError:javax/servle...
在jsp中想用<c:foreach>遍历一个ArrayList,但是总是抛如下异常:
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1653)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:883)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1333)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1213)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1354)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1598)
org.apache.jasper.compiler.Parser.parse(Parser.java:171)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:247)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:149)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:135)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
-----------------------------------------------------
但是我用<c:out>标签时是正常的。我想问下各位高手,这是为什么?!
我把jstl。jar拷贝进相应的路径,这个问题解决了。但是我弄不明白,为什么用:out可以用,但是:foreach不能用呢?
我的web.xml中进行如下配置: <taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib> 展开
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1653)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:883)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1333)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1213)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1354)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1598)
org.apache.jasper.compiler.Parser.parse(Parser.java:171)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:247)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:149)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:135)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
-----------------------------------------------------
但是我用<c:out>标签时是正常的。我想问下各位高手,这是为什么?!
我把jstl。jar拷贝进相应的路径,这个问题解决了。但是我弄不明白,为什么用:out可以用,但是:foreach不能用呢?
我的web.xml中进行如下配置: <taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib> 展开
5个回答
展开全部
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
意思就是说,javax.servlet.jsp.jstl.core.LoopTag 这个类找不到,有两个原因,一是不存在这个类,二是这个类有重复,也就是存在多个同样的LoopTag类。你拷jar包后能正确运行,按说是第一种情况,缺少该类,不过你说用<c:out>可以,就比较奇怪,更像是版本冲突的问题,可能是你原来就有个jstl.jar,但是版本跟web容器有冲突,后来新的jar把老的jar替换了,结果就可以了!
楼上说是参数有问题,应该不是,参数有问题的话不可能拷个jar包就好了!
意思就是说,javax.servlet.jsp.jstl.core.LoopTag 这个类找不到,有两个原因,一是不存在这个类,二是这个类有重复,也就是存在多个同样的LoopTag类。你拷jar包后能正确运行,按说是第一种情况,缺少该类,不过你说用<c:out>可以,就比较奇怪,更像是版本冲突的问题,可能是你原来就有个jstl.jar,但是版本跟web容器有冲突,后来新的jar把老的jar替换了,结果就可以了!
楼上说是参数有问题,应该不是,参数有问题的话不可能拷个jar包就好了!
展开全部
<c:forEach var="id" items="${zones}">
<c:out value="${id}<br />" escapeXml="false" />
</c:forEach>
这些参数都有写对吧
<c:out value="${id}<br />" escapeXml="false" />
</c:forEach>
这些参数都有写对吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jstl有好几个版本的,也许你以前用的版本和out对上了,而和foreach没对上啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少jstl的支持jar包
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询