JSTL error javax / servlet / jsp / jstl / core / LoopTag error when using c: forEach tomcat ver7.0

Hello using
eclipse juno, a dynamic web project
apache Tomcat v7.0 (which has its own jstl-1.2.1.jar) I get this error

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) 

when i try to run 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> 

he does not see the javax.servlet.jsp.jstl.core.LoopTag class, which is in the bank
I read something about filters blocking javax.servlet files


any help would be greatly appreciated


ok I think I found a solution javax.servlet.jsp.jstl-1.2.1.jar
does not contain javax.servlet.jsp.jstl.core classes

jstl-1.2.jar also needs to be added

+7
source share
4 answers

javax.servlet.jsp.jstl-1.2.1.jar does not contain the javax.servlet.jsp.jstl.core classes. Be sure to add jstl-1.2.jar .

+7
source

If you are using maven, add

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

to your pom.xml

+4
source

If you want to use forEach, you need to add two libraries to WEB-INF / lib of your project: Impl: tag libraries standard-osusch-1.2.5.jar Spec: libraries tags standard-specification-1.2.5.jar

+1
source

I imported "taglibs-standard-impl-1.2.5.jar" downloaded from http://tomcat.apache.org/download-taglibs.cgi and found the same error. I tried to import "jstl-1.2.jar" as suggested in "Limited Atonement," and it worked. So I compared these two banks:

  • "jstl-1.2.jar" contains 3 folders: "javax", "META-INF" and "org".
  • "taglibs-standard-impl-1.2.5.jar" contains only 2 folders: "META-INF" and "org".

So I tried the suggestion. I uninstalled jstl-1.2.jar and imported both "taglibs-standard-spec-1.2.5.jar" and "taglibs-standard-impl-1.2.5.jar".

This solved the problem because the spec library contains the javax folder, which contains the necessary classes.

0
source

Source: https://habr.com/ru/post/926772/


All Articles