未知标签 c:forEach
unknown tag c:forEach
我在以下 .jsp 文件中使用 <c:forEach>.....</c:forEach>
标签并接收 unknown tag c:forEach
。我正在使用 Maven 并包含以下依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
我的简单 .jsp 文件如下所示:
<%@ 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>
<body>
<h3>Senior Design Project</h3>
<br>
<form action="query" method="post" commandName="queryForm">
Enter an SQL Query: <br> <br>
<textarea name="query" path="query" cols="55" rows="3"
style="overflow: hidden"></textarea>
<br> <input type="submit" value="submit">
</form>
<h3>Results:</h3>
<br>
<h5>File Paths:</h5>
<c:forEach var="individualPath" items="${paths}">
<tr>
<td>${individualPath}</td>
</tr>
</c:forEach>
</body>
</html>
jstl 是否需要更多设置?从我读过的内容来看,maven 依赖项应该处理所有事情。非常感谢帮助。
.jsp页面顶部的taglib
需要包含如下:
<%@ 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>
<body>
<h3>Senior Design Project</h3>
<br>
<form action="query" method="post" commandName="queryForm">
Enter an SQL Query: <br> <br>
<textarea name="query" path="query" cols="55" rows="3"
style="overflow: hidden"></textarea>
<br> <input type="submit" value="submit">
</form>
<h3>Results:</h3>
<br>
<h5>File Paths:</h5>
<c:forEach var="individualPath" items="${paths}">
<tr>
<td>${individualPath}</td>
</tr>
</c:forEach>
</body>
</html>
即使我也有这个问题,我通过删除 <%@ 和 taglib 之间的白色 space 解决了它。
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
将此添加到 jsp 文件的顶部解决了问题。
做 3 件事以确保一切正常:
- 在构建路径中添加jstl jar
- 在WEB-INF里面的lib文件夹中添加相同的jstl jar
- 添加标签库
'''
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
'''
我在以下 .jsp 文件中使用 <c:forEach>.....</c:forEach>
标签并接收 unknown tag c:forEach
。我正在使用 Maven 并包含以下依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
我的简单 .jsp 文件如下所示:
<%@ 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>
<body>
<h3>Senior Design Project</h3>
<br>
<form action="query" method="post" commandName="queryForm">
Enter an SQL Query: <br> <br>
<textarea name="query" path="query" cols="55" rows="3"
style="overflow: hidden"></textarea>
<br> <input type="submit" value="submit">
</form>
<h3>Results:</h3>
<br>
<h5>File Paths:</h5>
<c:forEach var="individualPath" items="${paths}">
<tr>
<td>${individualPath}</td>
</tr>
</c:forEach>
</body>
</html>
jstl 是否需要更多设置?从我读过的内容来看,maven 依赖项应该处理所有事情。非常感谢帮助。
.jsp页面顶部的taglib
需要包含如下:
<%@ 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>
<body>
<h3>Senior Design Project</h3>
<br>
<form action="query" method="post" commandName="queryForm">
Enter an SQL Query: <br> <br>
<textarea name="query" path="query" cols="55" rows="3"
style="overflow: hidden"></textarea>
<br> <input type="submit" value="submit">
</form>
<h3>Results:</h3>
<br>
<h5>File Paths:</h5>
<c:forEach var="individualPath" items="${paths}">
<tr>
<td>${individualPath}</td>
</tr>
</c:forEach>
</body>
</html>
即使我也有这个问题,我通过删除 <%@ 和 taglib 之间的白色 space 解决了它。
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
将此添加到 jsp 文件的顶部解决了问题。
做 3 件事以确保一切正常:
- 在构建路径中添加jstl jar
- 在WEB-INF里面的lib文件夹中添加相同的jstl jar
- 添加标签库 ''' <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> '''