7

嗨,使用
eclipse juno,动态 Web 项目
apache Tomcat v7.0(它有自己的 jstl-1.2.1.jar)我收到此错误

javax.servlet.ServletException: java.lang.NoClassDefFoundError:  javax/servlet/jsp/jstl/core/LoopTag
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:343)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

当我尝试运行这个jsp代码时

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<c:forEach var="test" items="a,b,c">
${test}
</c:forEach>

</body>
</html>

似乎看不到 jar 中的 javax.servlet.jsp.jstl.core.LoopTag 类
我已经阅读了一些关于过滤器阻止 javax.servlet 文件的内容,

任何帮助将不胜感激


好的,我想我已经找到解决方案 javax.servlet.jsp.jstl-1.2.1.jar
不包含 javax.servlet.jsp.jstl.core 类

jstl-1.2.jar 也需要添加

4

5 回答 5

7

javax.servlet.jsp.jstl-1.2.1.jar不包含javax.servlet.jsp.jstl.core类。一定要添加jstl-1.2.jar

于 2013-11-01T16:33:42.037 回答
4

如果您使用的是 Maven,请添加

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.1.2</version>
</dependency>

到你的 pom.xml

于 2015-06-16T21:53:35.027 回答
4

如果你想使用 forEach,你应该在项目的 WEB-INF/lib 中添加两个库: Impl: taglibs-standard-impl-1.2.5.jar Spec: taglibs-standard-spec-1.2.5.jar

于 2018-05-25T10:00:49.977 回答
0

我有一个类似的问题,使用条件标签 <c:if>。我只使用 taglibs-standard-impl-1.2.5.jar。

jstl.jar 下载页面下载 jstl.jar并将其添加到 Tomcat 的安装 lib 目录后,它就可以工作了。

于 2020-07-11T11:20:21.010 回答
0

我导入了从http://tomcat.apache.org/download-taglibs.cgi下载的“taglibs-standard-impl-1.2.5.jar” ,我遇到了同样的错误。我尝试按照有限赎罪之前的建议导入“jstl-1.2.jar”,它起作用了。所以我比较了这两个罐子:

  • “jstl-1.2.jar”包含 3 个文件夹:“javax”、“META-INF”和“org”。
  • “taglibs-standard-impl-1.2.5.jar”仅包含 2 个文件夹:“META-INF”和“org”。

所以我尝试了swch的建议。我删除了 jstl-1.2.jar 并导入了“taglibs-standard-spec-1.2.5.jar”和“taglibs-standard-impl-1.2.5.jar”。

这解决了这个问题,因为“spec”库包含“javax”文件夹,其中包含所需的类。

于 2019-08-29T08:39:55.733 回答