本文介绍: var 定义变量还是 i 然后 i = 1 条件 i 小于等于 10 每次 i + 2 然后中间用EL表达式输出 这个 i i的值。我们定义 遍历数据arryList 然后 var 我们设置当前代理名叫 itemitems 就是 我们循环数据 注意 这里 操作的也是域对象中的值。i++ 中的x 结束值。第一种 就想 我们的for循环一样的 参考代码如下var 就是现域变量名 就相当于循环中的 i。好 之前我们讲完了 我们的条件动作标签

好 之前我们讲完了 我们的条件动作标签
那么 我们来继续说 迭代标签

所谓迭代就是 将某个主体循环多次
可以循环 集合 对象 map
这个标签叫 forEach
在这里插入图片描述
items 就是 我们要循环的数据 注意 这里 操作的也是域对象中的值
begin 开始说 例如 i = 0;i<x;i++ begin 就是开始数 当前写这个 那么就是0
end 就相当于 i = 0;i<x;i++ 中的x 结束
step 就是默认向前多少 就相当于 ++ 他默认的是 间隔1 也可以设置更大
var 就是现域变量名 就相当于循环中的 i
varStatus 就是当前成员信息 比如当前成员索引 这个用的比较少 了解一下就好

这边 我们主要有两种写法

第一种 就想 我们的for循环一样的 参考代码如下

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %&gt;
<%request.setCharacterEncoding("UTF-8");%&gt;
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;
<!DOCTYPE html&gt;
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
    <c:forEach var="i" begin="1" end="10" step="2">
        <p>${i}</p>
    </c:forEach>
</body>
</html>

这个代码可能大家看着有点蒙 但是 我们可以这样去翻译
var 定义变量还是 i 然后 i = 1 条件 i 小于等于 10 每次 i + 2 然后中间用EL表达式输出 这个 i i的值

翻译java代码就是

for(int i = 1;i <= 10;i += 2) {
   System.out.println(i);
}

运行 结果就是这样
在这里插入图片描述
然后是 第二种情况
遍历数据

这里 我们编写代码如下

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    List<String> list = new ArrayList<>();
    for (int i = 1;i <= 10; i++) {
        list.add("第"+i+"个");
    }
    request.setAttribute("arryList",list);
%>
    <c:forEach items="${arryList}" var="item">
        <p>${item}</p>
    </c:forEach>
</body>
</html>

这里 我们 先 声明一个list集合 数据类型是 String的
然后 我们循环 10次 加入 10条数据 add进去
然后 我们将处理好的 list 存入域对象 名字叫 arryList
然后 我们用forEach标签遍历
我们定义 遍历数据为 arryList 然后 var 我们设置当前代理名叫 item
中间用el输出 item

运行结果如下
在这里插入图片描述
我们整个list就被输出

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注