JSTL所支持的迭代标签有两个,分别是<c:forEach>和<c:forTokens>。这里介绍的是<c:forEach>标签。
<c:forEach>标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。
<c:forEach>标签,需要与el表达式联合使用
var="每个变量名字" items="要迭代的list"
<c:forEach var="每个变量名字" items="要迭代的list" varStatus="每个对象的状态" begin="循环从哪儿开始" end="循环到哪儿结束" step="循环的步长">
循环要输出的东西
</c:forEach>
JSP标准标识库,使用JSTL可实现JSP页面的逻辑处理; 可用于编写各种动态JSP页面.
下面是导入JSTL的core标签库:
<%@ taglib prefix="c"uri=“http://java.sun.com/jstl/core” %>
1)prefix=“c”:指定标签库的前缀,这个前缀可以随便给值,但大家都会在使用core标签库时指定前缀为c;2)uri=“http://java.sun.com/jstl/core”:指定标签库的uri,它不一定是真实存在的网址,但它可以让JSP找到标签库的描述文件;
<%@ page import="java.util.List" %>
<%@ page import="com.shunde.servlet.User" %><%--
Created by IntelliJ IDEA.
User: wang
Date: 2020/9/7
Time: 12:03
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>成绩</th>
<th>地址</th>
</tr>
<%-- <%--%>
<%-- //我们在UserServlet中创建的list是存在request中传过来的,因此首先我们要先使用request的get方法将list取出来--%>
<%-- List<User> lists = (List<User>) request.getAttribute("list");--%>
<%-- //将request中的list的内容取到lists中后,就可以遍历lists了--%>
<%-- for(User listss : lists){--%>
<%-- //使用for-each循环后,我们将lists中的内容读取到listss中,如果我们想要使用EL表达式输出listss中的内容--%>
<%-- //就首先需要再将listss中的内容request中--%>
<%-- request.setAttribute("listss", listss);--%>
<%-- %>--%>
//遍历集合list,将list中的内容存至user中
<c:forEach items="${list}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.score}</td>
<td>${user.address.value}</td>
</tr>
</c:forEach>
<%-- <%--%>
<%-- }--%>
<%-- %>--%>
<%-- <tr>--%>
<%-- <td>${requestScope.list[1].id}</td>--%>
<%-- <td>${requestScope.list[1].name}</td>--%>
<%-- <td>${requestScope.list[1].score}</td>--%>
<%-- <td>${requestScope.list[1].address.value}</td>--%>
<%-- </tr>--%>
<%-- <tr>--%>
<%-- <td>${requestScope.list[2].id}</td>--%>
<%-- <td>${requestScope.list[2].name}</td>--%>
<%-- <td>${requestScope.list[2].score}</td>--%>
<%-- <td>${requestScope.list[2].address.value}</td>--%>
<%-- </tr>--%>
<%-- <tr>--%>
<%-- <td>${requestScope.list[3].id}</td>--%>
<%-- <td>${requestScope.list[3].name}</td>--%>
<%-- <td>${requestScope.list[3].score}</td>--%>
<%-- <td>${requestScope.list[3].address.value}</td>--%>
<%-- </tr>--%>
</table>
</body>
</html>