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:指定循环的状态变量,可取值如下表:
    变量 类型 功能
    index Int 当前循环的索引值,从 0 起
    count Int 当前循环的循环计数,从 1 累加
    first Boolean 是否为第一次循环
    last Boolean 是否为最后一次循环
  • 示例:
    <%@ 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>
    
  • 效果:
    在这里插入图片描述

上一篇

下一篇

发布了146 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42896653/article/details/103477231
今日推荐