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>
展开
 我来答
tomiscat2009
2009-04-13 · TA获得超过2434个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:525万
展开全部
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包就好了!
ajax_2003
2009-04-13 · TA获得超过4995个赞
知道大有可为答主
回答量:2628
采纳率:0%
帮助的人:2420万
展开全部
<c:forEach var="id" items="${zones}">

<c:out value="${id}<br />" escapeXml="false" />

</c:forEach>

这些参数都有写对吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f8644d4
2009-04-13 · TA获得超过589个赞
知道答主
回答量:125
采纳率:0%
帮助的人:88.7万
展开全部
jstl有好几个版本的,也许你以前用的版本和out对上了,而和foreach没对上啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ヤマザキ266e77
2009-04-13 · TA获得超过2052个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:962万
展开全部
缺少jstl的支持jar包
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maodrc
2009-04-13 · TA获得超过3289个赞
知道小有建树答主
回答量:1090
采纳率:79%
帮助的人:1148万
展开全部
不知道你用的jstl版本是多少.
应该是版本的问题,
可以参看这个地址:
http://lggege.javaeye.com/blog/333704

参考资料: http://lggege.javaeye.com/blog/333704

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式