<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page import="java.util.*"%>
<%@ page import="bean.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
int[] ages = { 1, 2, 3, 4, 5 }; // 普通数组,JSTL直接使用JSP赋值表达式来取
List<String> names = new LinkedList<String>(); // List
names.add("Biao");
names.add("彪");
names.add("雷");
request.setAttribute("names", names); // 添加到request
Set<String> set = new TreeSet<String>(); // Set
set.add("One");
set.add("One");
set.add("Two");
set.add("Three");
set.add("Set");
Map<String, String> map = new HashMap<String, String>(); // Map
map.put("1", "黄彪");
map.put("2", "丫头");
map.put("3", "哥哥");
map.put("4", "笨蛋");
List<User> users = new ArrayList<User>(); // JavaBean的List
users.add(new User("黄彪", "xxxxxx"));
users.add(new User("昊天", "xxxxxx"));
users.add(new User("姐姐", "yyyyyy"));
users.add(new User("丫头", "zzzzzz"));
session.setAttribute("users", users); // 添加到session
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Iterator Collections</title>
<style type="text/css">
table {
border-collapse: collapse;
border: 1px solid black;
}
td, th {
border: 1px solid black;
}
tr:nth-child(even) {
background: #eee;
}
</style>
</head>
<body>
<center>
遍历数组:
<c:forEach var="age" items="<%= ages %>">
<c:out value="${age}" />
</c:forEach>
<br />
遍历List:
<c:forEach var="name" items="<%= names %>">
<c:out value="${name}" />
</c:forEach>
<br />
遍历List:
<c:forEach var="name" items="${names}">
<c:out value="${name}" />
</c:forEach>
<br />
<br />
遍历Set:
<c:forEach var="entry" items="<%= set %>">
<c:out value="${entry}" />
</c:forEach>
<br />
遍历Map:
<table>
<tr>
<th>Key</th>
<th>Value</th>
</tr>
<c:forEach var="entry" items="<%= map %>">
<tr>
<td><c:out value="${entry.key}"/></td>
<td><c:out value="${entry.value}"/></td>
</tr>
</c:forEach>
</table>
<br />
遍历UserBean的List:
<table>
<tr>
<th>username</th>
<th>password</th>
</tr>
<c:forEach var="user" items="${users}">
<tr>
<td><c:out value="${user.username}"/></td>
<td><c:out value="${user.password}"/></td>
</tr>
</c:forEach>
</table>
</center>
</body>
</html>
分享到:
相关推荐
对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将详细介绍如何利用`c:forEach`标签来遍历这种嵌套的数据结构。 #### 1. 基础知识介绍 在Java Web项目中,通常会...
在JSP页面中,JSTL EL(Expression Language)提供了一种简便的方式来访问和操作数据,特别是针对Java集合类型如Map。下面我们将详细介绍如何使用JSTL EL表达式遍历Map集合。 ### JSTL EL表达式概述 JSTL(Java...
最外层的<c:forEach>用于遍历Role到其对应的内层Map,内层的<c:forEach>用于遍历内层Map的键值对,而最内层的<c:forEach>用于遍历List类型的Menu。 EL(表达式语言)是JSP的一个规范,它提供了一种简洁的方式来访问...
2. **<c:forEach>**:循环遍历标签,可以遍历数组、集合、Map等。例如,遍历一个List: ```jsp <c:forEach items="${list}" var="item"> ${item} </c:forEach> ``` 对于复杂类型如`List<User>`,可以通过`...
jstl(JavaServer Pages Standard Tag Library)是 Java web 开发中的一种常用标签库,用于简化 JSP 页的编程。jstl 中判断 list 中是否包含某个值是开发中常见的问题,本文将介绍一种简单的方法来解决这个问题。 ...
本文主要讲解了在Java中如何遍历Map集合,这是在日常编程中经常遇到的一个操作,特别是在需要处理键值对数据时。以下将详细介绍Map集合的遍历方法以及一些相关的知识点。 首先,Map是Java集合框架中的一个接口,它...
- `<c:forEach>`:用于遍历集合、数组、Map等,如: ```jsp <c:forEach items="${list}" var="item"> <!-- 循环体 --> ${item} </c:forEach> ``` - `<c:forTokens>`:用于处理字符串,根据分隔符将其拆分成...
在"itemsearch"这个可能的示例中,我们可能有一个搜索功能,用户输入关键词,Servlet接收到请求后,处理搜索逻辑,将结果存入一个List或Map中,然后将这些数据转发到一个JSP页面。在这个JSP页面上,我们可以使用JSTL...
- 遍历 Map: ```jsp <% Map m = new HashMap(); m.put("name", "张三"); m.put("password", "123456"); request.setAttribute("m", m); %> <c:forEach var="entry" items="${m}"> Key: ${entry.key}, ...
此外,它还可以处理数组、集合、Map等复杂类型。 **3. EL的运算符** EL提供了多种运算符,包括: - 点运算符(.):用于访问对象的属性。 - 索引运算符([]):用于访问数组或集合的元素。 - 运算符(==, !=, <, ...
需要注意的是,JSTL中并没有提供直接判断List包含关系的标签,所以这里的解决方案采用了遍历List并逐个比较的穷举方法。实际上,这种方法在List较大时可能会导致性能问题,因为需要对整个列表进行遍历。 为了优化...
- `<c:forEach>` 用于遍历集合(如List、Set、Map等)或执行固定次数的循环。它有多个属性,包括: - `var`:定义循环变量名。 - `items`:要遍历的集合或数组。 - `varStatus`:提供额外的循环状态信息,如`...
1. **迭代标签**: `c:forEach` 用于遍历集合、数组或Map。 ```jsp <c:forEach items="${list}" var="item"> ${item} </c:forEach> ``` 2. **条件标签**: `c:if` 和 `c:choose`、`c:when`、`c:otherwise` 组合...
3. `<c:forEach>`:用于遍历集合或数组,如List、Set、Map等。 4. `<c:forTokens>`:将字符串按分隔符拆分成多个部分,并进行遍历。 5. `<c:set>`:设置一个变量,可以在JSP页面范围内或者作用域内使用。 6. `<c:...
- `<c:forEach>`: 迭代数组、集合、Map等,如`<c:forEach items="${list}" var="item">`。 - `<c:import>`: 引入外部资源,如HTML、XML或其他JSP页面。 - `<c:redirect>`: 重定向请求到另一个URL。 **4. JSTL ...
- `<c:forEach>`:进行迭代,支持数组、集合、Map等。 - `<c:forTokens>`:根据分隔符将字符串拆分为多个元素并遍历。 - `<c:redirect>`和`<c:url>`:处理URL重定向和构造URL。 **3. 使用JSTL的优势:** - **增强...
1. **<c:forEach>**:这是一个常用的迭代标签,用于遍历数组、集合、Map等数据结构。例如: ```jsp <c:forEach items="${list}" var="item"> ${item.name} </c:forEach> ``` 这段代码将遍历名为`list`的集合,...
- `c:forEach`: 用于遍历集合或数组。 - `items`: 指定要遍历的对象。 - `var`: 指定每次迭代时元素的变量名。 - `c:out`: 用于输出字符串,其中`value`属性指定了要输出的值。 综上所述,“jstl文件检查”涉及到的...
1. **迭代**:`<c:forEach>`标签可以用来遍历集合、数组或Map,如: ```jsp <c:forEach items="${list}" var="item"> ${item} </c:forEach> ``` 2. **条件判断**:`<c:if>`和`<c:choose>`标签用于进行条件判断...