Unknown tag (c:foreach). in eclipse
Solution 1
Same thing was happening to me in Eclipse. It disappeared after I deleted the white space between <%@
and taglib
that appears in your code.
So now it appears like this and the warning is gone:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Solution 2
What you actually need is to add the following line on top of your JSP files:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Also, you need to download the JSTL jar files from here and add them to WEB_INF/lib
folder.
Found my answer here: https://stackoverflow.com/a/8400733/3758439
Solution 3
I was also getting this warning in eclipse. I was also getting other warnings such as:
Unknown tag
(c:if)
or Unknown tag(c:set)
etc.
To fix these warning in eclipse, all i did was to include the following dependency in my pom file. Please note that I am using the servlet 2.5 api.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
You seem to be using <provided>
for this dependency in your pom file. Maybe that's causing your problem ?
Solution 4
the correct tag is case sensitive. (c:forEach)
Capril Aprilovich
Updated on July 09, 2022Comments
-
Capril Aprilovich almost 2 years
I have jstl code and it builds by maven well... But Eclipse had compilation error "Unknown tag (c:foreach)."
code are here:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!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> <ul> <c:forEach items="${listOfMyFriends}" var="friend"> <c:out value="${friend}"></c:out> </c:forEach> </ul> </body> </html>
could someone help me to avoid this promlem?
There are full pom: ` http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>com.godzevych</groupId> <artifactId>springInActionMVCTemplate</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>springInActionMVCTemplate</name> <url>http://maven.apache.org</url> <properties> <java.version>1.6</java.version> <spring.version>3.1.0.RELEASE</spring.version> <cglib.version>2.2.2</cglib.version> </properties> <dependencies> <!-- Spring core & mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <type>jar</type> <scope>test</scope> </dependency> <!-- CGLib for @Configuration --> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>${cglib.version}</version> <scope>runtime</scope> </dependency> <!-- Servlet Spec --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <!-- JSTL --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>provided</scope> </dependency> <!-- JSR 330 --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> </dependency> </dependencies> <repositories> <repository> <id>springsource-milestones</id> <name>SpringSource Milestones Proxy</name> <url>https://oss.sonatype.org/content/repositories/springsource-milestones</url> </repository> </repositories> <build> <finalName>springInActionMVCTemplate</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build>
`