当前位置: 首页 > article >正文

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就被输出了


http://www.kler.cn/a/149389.html

相关文章:

  • 蓝牙BLE开发——iOS 每次写入数据超过200字节报错?
  • 前端 JS面向对象 原型 prototype
  • EasyExcel 使用多线程按顺序导出数据
  • SSE (Server-Sent Events) 服务器实时推送详解
  • KubeVirt入门介绍
  • 第七部分:2. STM32之ADC实验--AD多通道(AD采集三路传感器模块实验:光敏传感器、热敏传感器、反射式传感器附赠温湿度传感器教程)
  • 使用Wireshark提取流量中图片方法
  • JSP forEach 标签遍历map集合
  • 【nlp】4.5 迁移学习实践项目(相关概念、中文分类、填空、句子关系、模型微调)
  • Less 安装教程
  • Java第二十章
  • Android 12.0 禁用adb reboot recovery命令实现正常重启功能
  • Android控件全解手册 - 任意View缩放平移工具-源码
  • Oracle整体架构
  • IP-Adapter:文本兼容图像提示适配器,用于文本到图像扩散模型
  • 振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(9)
  • 【代码】数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法matlab/yalmip+cplex/gurobi
  • java学习part21枚举
  • 选择跨网数据摆渡系统时,你最关注的功能是哪些?
  • 设置MATLAB启动时弹到上次退出时的工作文件夹
  • java List集合(ArrayList,LinkedList,Vector)
  • 【黑马程序员】——微服务全套——实战篇1
  • 5 时间序列预测入门:LSTM+Transformer
  • 数组中的第 K 个最大元素(C++实现)
  • UE5学习(游戏存档,两种适应性的射线检测,时间膨胀)
  • 解决Python中删除临时文件时的文件占用问题