I'm trying to use JSTL, but I get the following error:
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
How is this caused and how can I solve it?
I'm trying to use JSTL, but I get the following error:
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
How is this caused and how can I solve it?
Use taglib definition in your JSP or better include it in every page by the first line.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
There's also fix jstl-1.2
dependency in your project. Also use servlet specification at least 2.4 in your web.xml
.
The maven dependencies are (maven is a open source development tool)
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
In the web.xml
start writing
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
EDIT:
I'd like to add a note that @informatik01 has mentioned in the comment about newer version of JSTL libraries available from Maven repository: JSTL version 1.2.1 API and JSTL 1.2.1 .
I had the same problem even after I added jar files for jstl and standard. For me, it resolved after I added a Targeted runtime for my project.
Go to Project Properties > Targeted Runtimes and select the server you are using (Tomcat 7.0 for me).
create a libs folder in the inside WEB-INF directory and add jstl, standard jars as below.
You may try to make the folder which include jsp-s become the source folder of eclipse, that solved the same problem of mine. As below:
- open project's properties.(right click project, then choose the Properties)
- choose Java Build Path, select the Source tab, click Add Folder and choose the folder including your jsp-s, OK
You just need to include the standard.jar
file in your project build path.
in your pom.xml just add
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
and try run
mvn eclipse:eclipse -Dwtpversion=2.0
will solve the problem
I have similar issue, why should we add external jar files when we are using maven?
I have already included jstl maven dependency then also I encounter error "Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"". Then I include following dependency then error get solve, without including any single external jar file.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
As per snapshot the main reason for error is that you are not defining c.tld in lib folder causes such error.
This lib content information about taglib