jstl标签forEach的用法--遍历java的集合
再讲<c:forEach>之前,现讲一下让EL表达式生效的语句
<% @ page isELIgnored="false"%>这句语句在你想让EL表达式生效的情况下,必须要加载jsp中。
<c:forEach>中各个常用属性的解释如下:
items:要遍历的集合,通常用EL表达式表示:pageContext.setAttribute("mylist",list); ${mylist}
var:变量
varStatus:变量的状态 varStatus的属性有index,和count.其中index从0开始数起,count:个数。
下面的代码讲了java中常用的集合:
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.supwisdom.domain.Student" %>
<%@ page import="java.util.HashMap" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--el表达式生效的语句--%>
<%@page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%--防止调用函数时报错--%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<html>
<body>
<h2>Hello World!</h2>
<%--forEach的用法--%>
<%--用forEach遍历list集合--%>
<%
ArrayList<String> strings = new ArrayList<String>();
strings.add("王昭君");
strings.add("西施");
strings.add("霍去病");
strings.add("杨开慧");
pageContext.setAttribute("ouyangfeng",strings);
%>
<c:forEach var="item" items="${ouyangfeng}" varStatus="status">
<c:out value="${item}"></c:out>
status.index: <c:out value="${status.index}"></c:out>
status.count:<c:out value="${status.count}"></c:out><br>
</c:forEach>
<%--遍历list对象的集合--%>
<%
Student student = new Student();
student.setId(1);
student.setName("zyh");
student.setAge(16);
Student student2 = new Student();
student2.setId(2);
student2.setName("ouyangfeng");
student2.setAge(29);
ArrayList<Student> students = new ArrayList<Student>();
students.add(student);
students.add(student2);
pageContext.setAttribute("plump",students);
%> <c:forEach var="item" items="${plump}">
学生的姓名: <c:out value="${item.name}"></c:out>
学生的年龄: <c:out value="${item.age}"></c:out>
学生的身份证号:<c:out value="${item.id}"></c:out>
<br>
</c:forEach>
<%--遍历list数组集合--%>
<%
ArrayList<String[]> sixi = new ArrayList<String[]>();
String[] str= new String[]{"country","china"};
String[] str2=new String[]{"address","NewYork"};
String[] str3= new String[]{"student","pupil"};
sixi.add(str);
sixi.add(str2);
sixi.add(str3);
pageContext.setAttribute("array",sixi);
%>
<c:forEach var="item" items="${array}">
<c:out value="${item[0]}"></c:out> <%--数组中的第一个元素--%>
<c:out value="${item[1]}"></c:out> <%--数组中的第二个元素--%>
<br>
</c:forEach>
<%--遍历map集合--%>
<%
HashMap<String, String> map = new HashMap<String, String>();
map.put("China","Reservation");
map.put("France","Romantic");
map.put("America","Innovation");
pageContext.setAttribute("hashmap",map);
%>
<c:forEach var="item" items="${hashmap}">
键是:<c:out value="${item.key}"></c:out>
值是:<c:out value="${item.value}"></c:out><br>
</c:forEach>
</body>
</html>
tomcat运行的结果为:
Hello World! 王昭君 status.index: 0 status.count:1
西施 status.index: 1 status.count:2
霍去病 status.index: 2 status.count:3
杨开慧 status.index: 3 status.count:4
学生的姓名: zyh 学生的年龄: 16 学生的身份证号:1
学生的姓名: ouyangfeng 学生的年龄: 29 学生的身份证号:2
country china
address NewYork
student pupil
键是:France 值是:Romantic
键是:America 值是:Innovation
键是:China 值是:Reservation
jstl标签forEach的用法--遍历java的集合的更多相关文章
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- jsp页面,jstl标签中的数据在<%%>java中使用
可参考jsp的API隐式对象.. 这部分数据其实被保存在page域中,但jsp中如果使用java代码需要在特定的标签中<%%>,在这个标签中可使用的只有pageContext对象,所以可以 ...
- 实现 jstl标签foreach 功能
jsp 页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- jstl标签库示例二
package app05b;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax ...
- JSP标签和JSTL标签注意点
1.转发和重定向问题 当前项目:/Test 转发路径:"/"根目录表示当前项目"/Test","/login.jsp"就是"/Te ...
- jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...
- Jstl标签<c:forEach>的用法
<c:forEach>除了支持数组之外,还有标准J2SE的集合类型,例如:ArrayList.List.LinkedList.Vector.Stack和Set 等等:另外还包括java.u ...
- Java Web(七) JSTL标签库
在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上EL表达式看似能满足我们的要求,它 ...
- Java jsp页面中jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
随机推荐
- JZOJ 5919. 逛公园
Description 琥珀色黄昏像糖在很美的远方,思念跟影子在傍晚一起被拉长……Description 小 B 带着 GF 去逛公园,公园一共有 n 个景点,标号为 ...
- 笔记--tslib 编译
tslib 是qt启动时的一个触屏校正检验程序. 它的配置以及编译比较简单. 第一步, 下载tslib源码包: http://download.csdn.net/detail/MKNDG/329156 ...
- 12-optionBinding
1-创建一个空的dotnet mvc网站 2- 创建appsettings.json文件, 这文件会默认被绑定 { "ClassNo": "1", " ...
- IDA 对 so 的动态调试
将IDAPro根目录下dbgsrv 目录下的android_server(模拟器用android_x86_server,这里还是用真机好点)文件push 到安卓设备(比如/data/local/tmp ...
- 13,SQLAlchemy 增删改查 一对多 多对多
今天来聊一聊 Python 的 ORM 框架 SQLAlchemy Models 是配置和使用比较简单,因为他是Django自带的ORM框架,也正是因为是Django原生的,所以兼容性远远不如SQLA ...
- 3 Vue.js
1 2 3 <script> var vm = new Vue({ el:"#app", //context data:{ //context["articl ...
- 4 CSS的20/80个知识点
1.css的基本构成 样式选择器 id选择器 元素选择器 2.css的盒模型 border padding margin 3.Atom快捷键 4.程序 (1)初始程序 <!DOCTYPE htm ...
- nodejs基础1
nodejs学习网站: https://github.com/alsotang/node-lessons 1.全局对象 (1)node中没有window对象,有global对象替代window对象 g ...
- 软引用SoftReference
本文介绍对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有 ...
- Python3中文教程
搜索 此文档来源自网络 安装 PYTHON❝ Tempora mutantur nos et mutamur in illis. (时光流转,吾等亦随之而变.) ❞ — 古罗马谚语 深入欢迎来到 Py ...