JSTL error javax/servlet/jsp/jstl/core/LoopTag error when using c:forEach tomcat ver7.0
Solution 1
javax.servlet.jsp.jstl-1.2.1.jar
doesn't contain the javax.servlet.jsp.jstl.core
classes. Be sure to add jstl-1.2.jar
as well.
Solution 2
If you are using maven, add
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
to your pom.xml
Solution 3
If you want to use forEach you should add two libraries to WEB-INF/lib of your project: Impl: taglibs-standard-impl-1.2.5.jar Spec: taglibs-standard-spec-1.2.5.jar
Admin
Updated on July 12, 2020Comments
-
Admin almost 4 years
Hi using
eclipse juno, dynamic web project
apache Tomcat v7.0 (which has its own jstl-1.2.1.jar) I get this errorjavax.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)
when I try running this jsp code
<%@ 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>
it seams not to be seeing the javax.servlet.jsp.jstl.core.LoopTag class that is in the jar
I have read something about filters blocking javax.servlet files
any help would be greatly appreciated
ok I think I have found the solution javax.servlet.jsp.jstl-1.2.1.jar
does not contain the javax.servlet.jsp.jstl.core classesjstl-1.2.jar needs to be added as well