您的位置:

JSP中的foreach标签详解

一、基本语法

<c:forEach items="${list}" var="item">
  <td><c:out value="${item.name}"/></td>
  <td><c:out value="${item.age}"/></td>
</c:forEach>

上述语法中,c:forEach是一个JSP标签库中的标签,表示循环遍历给定的集合元素或数组元素。其中,items指定被遍历的集合,var指定当前遍历的元素名,可以在标签体内通过${item.name}的方式获取元素中的属性值。

在上述例子中,我们假设list是一个JavaBean组成的List,其中JavaBean中有name和age两个属性。

二、遍历HashMap

<%  
HashMap map = new HashMap();  
map.put("name1", "value1");  
map.put("name2", "value2");  
map.put("name3", "value3");  
pageContext.setAttribute("map", map);  
%>  
<c:forEach var="entry" items="${map}">
  Key: ${entry.key}, value: ${entry.value}
</c:forEach>

使用forEach标签遍历HashMap会稍微有点不同,我们需要将HashMap赋值到pageContext域中,然后在标签内部通过${entry.key}、${entry.value}获取键和值。

三、利用varStatus获取遍历状态

<c:forEach var="item" items="${list}" varStatus="status">
  <c:if test="${status.first}">
    <tr>
      <td>${status.index}
      <td>${item.name}
      <td>${item.age}
    </tr>
  </c:if>
</c:forEach>

varStatus属性可以获得当前遍历元素的一些统计信息。例如在上面的例子中,我们可以通过status.index获取当前遍历的下标,status.first表示是否是第一个元素,status.last则表示是否是最后一个元素。在标签体内,我们利用这些信息进行一些特定的操作。

四、利用step属性实现步长控制

<% int[] arr = {1,2,3,4,5,6,7,8,9,10}; %>
<c:forEach var="i" begin="0" end="9" step="3">
  <c:out value="${arr[i]}"/>, <c:out value="${arr[i+1]}"/>, <c:out value="${arr[i+2]}"/>
</c:forEach>

在这个例子中,我们希望控制步长为3,输出arr数组中每三个元素。我们可以使用step属性来控制步长。

五、使用forEach标签进行嵌套循环

<table>
  <c:forEach items="${departments}" var="department">
    <tr>
      <td><c:out value="${department.name}" />
      <td><c:out value="${department.manager}" />
    </tr>
    <c:forEach items="${department.employees}" var="employee">
      <tr>
        <td> 
        <td><c:out value="${employee.name}" />
      </tr>
    </c:forEach>
  </c:forEach>
</table>

在这个例子中,我们的departments是一个List,每个元素都是一个JavaBean,JavaBean中有一个name属性表示部门名称,有一个manager属性表示部门经理名称,还有一个employees属性表示该部门下属员工列表。因此,我们需要使用嵌套的forEach标签进行遍历。外层的forEach标签遍历部门列表,内层的forEach标签遍历每个部门的员工列表。

JSP中的foreach标签详解

2023-05-17
印象笔记记录java学习(Java成长笔记)

2022-11-12
jsp中c标签的详细使用,jsp指令标签有哪些及作用

本文目录一览: 1、C标签是什么,为什么要使用C标签,有哪些常见的指令 2、jsp页面中c标签的问题 3、关于jsp的和的用法 4、jsp如何用c标签实现分页 5、jsp中c标签foreach的使用

2023-12-08
jsp增加c标签,jsp引入c标签

本文目录一览: 1、jsp中c标签foreach的使用 2、jsp中“ 3、jsp页面怎么让一个标签到达条件时,此元素不被显示 4、写了个jsp页面,引入c标签库后,一写就报错,错误是isValid(

2023-12-08
java方法整理笔记(java总结)

2022-11-08
jsp中核心标签库c标签详解(jsp c标签)

本文目录一览: 1、jsp标准标签库是什么,提供一些实例的使用 2、jsp中“ 3、C标签是什么,为什么要使用C标签,有哪些常见的指令 4、jsp核心标签c:import和c:url的区别? 5、JS

2023-12-08
重学java笔记,java笔记总结

2022-11-23
jsp程序开发学习笔记2,jsp程序设计题库

本文目录一览: 1、《JSP&Servlet学习笔记》pdf下载在线阅读,求百度网盘云资源 2、林信良编著jsp&servlet学习笔记第2版课后答案吗 3、jsp有没有快速掌握的办法呀? 4、要学J

2023-12-08
jsp中center,jsp中center标签

本文目录一览: 1、JSP如何设置字体的位置,比如中间靠左,即left跟center中间,怎么弄? 2、jsp中怎样让文字居中 3、JSP中 和 分别代表什么意思啊 4、JSP如何设置居中 5、JSP

2023-12-08
jspcif标签,JSP的标签

本文目录一览: 1、在jsp页面中用jstl取值,后台都能取到,但是前台不显示 2、在jsp的jstl标签中如何进行变量的类型转换? 3、JSP中用if语句同时判断两个条件 在jsp页面中用jstl取

2023-12-08
java客户端学习笔记(java开发笔记)

2022-11-14
发篇java复习笔记(java课程笔记)

2022-11-09
jsp里c标签的作用是什么,jsp中的c标签

本文目录一览: 1、JSP标签的作用和好处.自定义标签有什么作用 2、JSP 中 JSTL 3、javaweb使用SSH三大框架开发中。jsp页面中c,s标签分别是什么?什么时候使用c标签?什么时候使

2023-12-08
java学习笔记(java初学笔记)

2022-11-14
java包笔记,Java语言包

2022-11-18
网页标记语言jsp基础知识(HTML使用标记标签来描述网页)

本文目录一览: 1、什么是JSP? 2、学习jsp需要哪些基础知识? 3、JSP的语法标识有哪几种? 4、jsp是什么干什么的 5、JSP是什么? 6、jsp基础知识 什么是JSP? JSP简单说来就

2023-12-08
java笔记,大学java笔记

2022-11-28
jsp中c标签怎么遍历对象,jsp中循环遍历的用法

2022-11-24
java笔记,尚硅谷java笔记

2022-12-01
深入了解thymeleaf foreach标签

2023-05-18