jsp常用标签有哪些_foreach js

jsp常用标签有哪些_foreach js————————————-JSTL标签forEach———————————-forEach(重点)   forEach当前就是循环标签了,下面例子中设置域变量i,初始值为1,结束值为100。即i的值从1遍历到100,包含100。 <c:setvar="sum"value="…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

————————————- JSTL标签forEach———————————-

forEach(重点)

 

  forEach当前就是循环标签了,下面例子中设置域变量i,初始值为1,结束值为100。即i的值从1遍历到100,包含100。

<c:set var=“sum” value=“0” />

<c:forEach var=“i” begin=“1” end=“10”>

    <c:set var=“sum” value=${sum + i}/>

</c:forEach>

<c:out value=”sum = ${sum }”/>

<c:set var=“sum” value=“0” />

<c:forEach var=“i” begin=“1” end=“10” step=“2”>

    <c:set var=“sum” value=${sum + i}/>

</c:forEach>

<c:out value=sum = ${sum }/>

 

  还可以使用forEach来遍历数据或集合,遍历数组:

<%

String[] names = {
“zhangSan”, “liSi”, “wangWu”, “zhaoLiu”};

pageContext.setAttribute(“ns”, names);

%>

<c:forEach var=“item” items=${ns }>

    <c:out value=name: ${item }/><br/>

</c:forEach>

 

遍历List

<%

    List<String> names = new ArrayList<String>();

    names.add(“zhangSan”);

    names.add(“liSi”);

    names.add(“wangWu”);

    names.add(“zhaoLiu”);

    pageContext.setAttribute(“ns”, names);

%>

<c:forEach var=“item” items=${ns }>

    <c:out value=name: ${item }/><br/>

</c:forEach>

 

遍历Map

<%

    Map<String,String> stu = new LinkedHashMap<String,String>();

    stu.put(“number”, “N_1001”);

    stu.put(“name”, “zhangSan”);

    stu.put(“age”, “23”);

    stu.put(“sex”, “male”);

    pageContext.setAttribute(“stu”, stu);

%>

<c:forEach var=“item” items=${stu }>

    <c:out value=${item.key }: ${item.value }/><br/>

</c:forEach>

 

forEach标签还有一个属性:varStatus,这个属性用来指定接收“循环状态”的变量名,例如:<forEach varStatus=”vs” …/>,这时就可以使用vs这个变量来获取循环的状态了。

current当前这次迭代的(集合中的)项
index当前这次迭代从 0 开始的迭代索引
count当前这次迭代从 1 开始的迭代计数
first用来表明当前这轮迭代是否为第一次迭代的标志
last用来表明当前这轮迭代是否为最后一次迭代的标志

<c:forEach var=“item” items=${ns }varStatus=“vs”>

    <c:if test=${vs.first }>第一行:</c:if>

    <c:if test=${vs.last }>最后一行:</c:if>

    <c:out value=${vs.count }: />

    <c:out value=[${vs.index }]: />

    <c:out value=name: ${vs.current }/><br/>

</c:forEach>

 

<%@ page language=”java” contentType=”text/html; charset=UTF-8″

    pageEncoding=”UTF-8″%>

<%@taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>

<%@page import=”com.rl.model.*” %>

<%@page import=”java.util.*” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

<title>Insert title here</title>

</head>

<body>

       <%

              String[] strArr = {“likunpeng”,”zhangsan”,”lisi”};

              pageContext.setAttribute(“strArr”, strArr);

              Person p = new Person();

              p.setAge(20);

              p.setName(“likunpeng”);

              Person p1 = new Person();

              p1.setAge(21);

              p1.setName(“zhangsan”);

              Person p2 = new Person();

              p2.setAge(22);

              p2.setName(“lisi”);

              List<Person> pList = new ArrayList<Person>();

              pList.add(p);

              pList.add(p1);

              pList.add(p2);

              pageContext.setAttribute(“pList”,pList);

              Map<String,String> map = new HashMap<String,String>();

              map.put(“name”,”likunpeng”);

              map.put(“age”,”23″);

              map.put(“job”,”www.likunpeng.com”);

              pageContext.setAttribute(“map”,map);

        %>

       <h1>JSTL标签forEach</h1>

       <c:out value=”${‘数值循环:’ }”></c:out>

       <c:forEach begin=”1″ end=”10″ var=”i”>

              <c:out value=”${i }”></c:out>

       </c:forEach>

       <%– step设置数值的跨度 –%>

       <c:forEach begin=”1″ end=”10″ var=”i” step=”2″>

              <c:out value=”${i }”></c:out>

       </c:forEach>

       <br>

       <c:out value=”${‘字符串数组遍历:’ }”></c:out>

       <c:forEach items=”${strArr }” var=”str”>

              <c:out value=”${str }”></c:out>

       </c:forEach>

       <br>

       <c:out value=”${‘List集合遍历:’ }”></c:out><br>

       <c:forEach items=”${pList }” var=”person”>

              <c:out value=”${person }”></c:out><br>

       </c:forEach>

       <c:forEach items=”${pList }” var=”person”>

              <c:out value=”姓名:${person.name } 年龄:${person.age }”></c:out><br>

       </c:forEach>

       <br>

       <c:out value=”${‘Map集合遍历:’ }”></c:out><br>

       <c:forEach items=”${map }” var=”m”>

              <c:out value=”${m.key }=${m.value }”></c:out><br>

       </c:forEach>

       <br>

       <c:forEach items=”${pList }” var=”person” varStatus=”status”>

              <c:out value=”${status.current }”></c:out><br>

              <%–index是从0开始,count不同的是从1开始计算 –%>

              <c:out value=”${status.index }相当于${status.count }”></c:out>

              <br>

              <c:if test=”${status.first }”>

                     <c:out value=”是第一行”></c:out><br>

              </c:if>

              <c:if test=”${status.last }”>

                     <c:out value=”是最后一行”></c:out><br>

              </c:if>

       </c:forEach>

</body>

</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213494.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iOS—-SIGPIPE信号终止进程[通俗易懂]

    iOS—-SIGPIPE信号终止进程[通俗易懂]#概念:SIGPIPE,当一个程序a调用send函数向一个服务A发送信号的数据,服务A在接收数据的时候突然挂掉、无法接收数据、没有接收者,那么内核就会发送一个SIGPIPE信号,从而中断进程,导致程序退出。#调用signal(SIGPIPE,SIG_IGN);对一个已经收到FIN包的socket调用read方法,如果接收缓冲已空,则返回0,这就是常说的表示连接关闭.但第一次对其调用…

    2022年7月17日
    12
  • activiti6.0工作流引擎深度解析_自定义工作流引擎

    activiti6.0工作流引擎深度解析_自定义工作流引擎工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

    2022年9月1日
    6
  • 挖矿区块链_传说中的区块链挖矿是什么?「建议收藏」

    挖矿区块链_传说中的区块链挖矿是什么?「建议收藏」对于区块链来说,挖矿是必须的吗?首先,我们来说下挖矿是什么?以比特币为例,每一笔交易发生后,并不算完成,交易数据必须写入数据库,才算成立,对方才能真正收到钱。首先,所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。计算哈希的过程叫挖矿,计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。根据比特币协议,一个区块的大小最大是1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包…

    2022年5月8日
    39
  • Linux 中shell 脚本if判断多个条件

    Linux 中shell 脚本if判断多个条件Linux中shell脚本if判断多个条件格式如下,在比较时,数字和字符串用不同的比较符号 1.如果a&gt;b且a&lt;c   if((a&gt;b))&amp;&amp;((a&lt;c))     或者   if[[$a&gt;$b]]&amp;&amp;[[$a&lt;$c]]    或者         if[$a-gt…

    2022年7月27日
    4
  • c语言中uint32是啥意思_uint16数据类型

    c语言中uint32是啥意思_uint16数据类型C++的基础数据类型:C++的主要数据类型,主要分为三类:布尔型,整型(char型从本质上说,也是种整型类型,它是长度为1的整数,通常用来存放字符的ASCII码),浮点型。而*_t是typedef定义的表示标志,是结构的一种标注。即我们所看到的uint8_t、uint16_t、uint32_t都不是新的数据类型,而是通过typedef给类型起得别名。uint8_t/uint…

    2025年9月28日
    2
  • Excel VBA宏编程入门(五)——用户交互[通俗易懂]

    Excel VBA宏编程入门(五)——用户交互[通俗易懂]目录任务介绍选择文件夹选择文件保存路径交互选择一列交互选择一行任务介绍VBA编程中,为了程序的灵活性,有时候需要用到用户交互操作,例如让用户选择一个文件夹,用户选择一个单元格等等。本文将介绍一些常用的用户交互操作的实现选择文件夹St=Application.FileDialog(msoFileDialogFolderPicker).Show’如果选择了文件夹就返回-1,不选择文件夹就返回0IfSt<>0ThenfileDir=Application.File

    2022年6月2日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号