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

23,673

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

Share:
23,673
Admin
Author by

Admin

Updated on July 12, 2020

Comments

  • Admin
    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 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 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 classes

    jstl-1.2.jar needs to be added as well