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)
上一篇 2025年7月22日 上午7:22
下一篇 2025年7月22日 上午8:01


相关推荐

  • 移动互联网敏捷开发流程

    移动互联网敏捷开发流程1 nbsp nbsp nbsp nbsp nbsp nbsp 制定版本计划由技术 leader 产品 leader 项目经理 老板达成一致 根据各公司情况 制定每个版本的周期 一周或者两周一个版本 由于 ios 的发版流程需要 appstore 审核 流程比较复杂 可安排 android 的发版时间比 ios 提前两三天 由 android 版本经过灰度用户验证后 再灰度 ios nbsp 2 nbsp nbsp nbsp nbsp nbsp nbsp 输出需求列表由产品经理 产品经理 leader 老板达

    2025年11月21日
    4
  • SqlSessionFactoryBuilder、SqlSessionFactory 和 SqlSession

    SqlSessionFactoryBuilder、SqlSessionFactory 和 SqlSessionmybatisJavaAPISqlSessionFactoryBuilderSqlSessionFactorySqlSession执行语句方法批量立即更新方法事务控制方法本地缓存使用MyBatis的主要Java接口就是SqlSession。你可以通过这个接口来执行命令,获取映射器和管理事务。我们会概括讨论一下SqlSession本身,但是首先我们还是要了解如何获取一个SqlS…

    2022年5月4日
    52
  • Unity3d接入DeepSeek,豆包,通义千问实现对话

    Unity3d接入DeepSeek,豆包,通义千问实现对话

    2026年3月12日
    2
  • Ext3语法笔记——apply与applyIf

    Ext3语法笔记——apply与applyIf1.apply与applyIf   两者都是用于copy对象属性   Ext.apply(trgObj,sourceObj,[optObj]);    Ext.applyIf(trgObj,sourceObj,[optObj]);   trgObj,目标对象,属性要copy到它;sourceObj,源对象,用它的属性来copy,optObj可选,目标…

    2022年7月28日
    13
  • CGLIB代理使用与原理详解

    CGLIB代理使用与原理详解JDK中提供的生成动态代理类的机制有个鲜明的特点是:某个类必须有实现的接口,而生成的代理类也只能代理某个类接口定义的方法。那么如果一个类没有实现接口怎么办呢?这就有CGLIB的诞生了,前面说的JDK的动态代理的实现方式是实现相关的接口成为接口的实现类,那么我们自然可以想到用继承的方式实现相关的代理类。【1】CGLIB简单实现①pom依赖如下&amp;amp;amp;amp;amp;amp;amp;lt;!–https://…

    2022年5月22日
    74
  • debugview使用方法_debugger怎么用

    debugview使用方法_debugger怎么用1、什么是DebugView?DebugView是一个系统调试信息输出的捕获工具。2、DebugView它能干吗?可以捕获程序中由TRACE()和OutputDebugString()输出的信息。说的具体一点,在程序中使用如下函数:1)、OutputDebugString 或者在MFC中使用TRACE2)、内核模式中使用Out_Deb

    2025年7月7日
    4

发表回复

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

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