JSP迭代标签之 forEach循环标签 基本使用讲解

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

所谓迭代就是 将某个主体循环多次
也可以循环 集合 对象 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" %>
<%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>
    <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就被输出了

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值