JavaWeb——JSTL核心标签库之循环标签

JavaWeb——JSTL

二、核心标签库的使用

4、循环标签

  • JSTL 的核心标签库里共有两个循环标签,分别是**<c:forEach> 和 <c:forTokens>**
4.1、<c:forEach>
  • 该标签可以根据循环条件,遍历数组或集合。其语法格式如下:
    <c:forEach items="data"[var="name"][begin="start"][end="finish"][step="step"][varStatus="statusName"]
    	标签体
    </c:forEach>
    <c:forEach begin="start" end="finish"[var="name"][varStatus="statusName"][step="step"]
    	标签体
    <\c:forEach>
    
  • items:为待遍历的数组或集合。
  • var:变量名,用于存储 items 指定的对象的成员。
  • varStatus:指定循环的状态变量,可取值如下表:
    变量类型功能
    indexInt当前循环的索引值,从 0 起
    countInt当前循环的循环计数,从 1 累加
    firstBoolean是否为第一次循环
    lastBoolean是否为最后一次循环
  • 示例:
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
    <html>
    <head>
        <title>循环标签</title>
        <style type="text/css">
            body{
                background: #d7c7e9;
                align-items: center;
                text-align: center;
            }
        </style>
    </head>
    <body>
    <h2>1、&lt;c:forEach&gt;</h2>
    <%
        List<String> list = new ArrayList<>();
        list.add("Everybody only can living once");
        list.add("Life is the most precious");
        list.add("we should be kind to life");
        list.add("Hoping to have a good love");
        request.setAttribute("list", list);
    %>
    <b>遍历集合元素</b>
    <c:forEach items="${requestScope.list}" var="listitem" varStatus="id">
        ${id.index}&nbsp;:${listitem}<br>
    </c:forEach>
    <b>遍历集合下标为1之后的元素</b>
    <c:forEach items="${requestScope.list}" var="listitem" varStatus="id" begin="1">
        ${id.index}&nbsp;:${listitem}<br>
    </c:forEach>
    <b>遍历 10 以内的偶数</b>
    <c:forEach var="i" begin="2" end="10" step="2">
        ${i}&nbsp;&nbsp;
    </c:forEach>
    </body>
    </html>
    
  • 其效果如下:
    在这里插入图片描述
4.2、<c:forTokens>
  • 该标签为迭代标签,支持用指定的分隔符将一个字符串分隔开来,然后由分割次数确定循环次数,其语法格式如下:
    <c:forTokens items="String" delims="char" [var="name"][begin="start"][end="end"][varStatus="statusName"]>
    	Espression
    </c:froTokens>
    
  • 示例如下:
    <h2>2、&lt;c:forTokens&gt;</h2>
    <c:set var="Str" value="A day is a miniature of eternity;Miracles sometimes occur, but one has to work terribly for them;
    single spark can start a prairie fire;Don't trouble trouble till trouble troubles you"/>
    <b>源字符串:</b><c:out value="${Str}"/>
    <br><b>分割后:</b>
    <c:forTokens items="${Str}" delims=";" var="item">
        ${item}<br>
    </c:forTokens>
    
  • 效果:
    在这里插入图片描述

上一篇

下一篇

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御承扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值