1、迭代
当forEach 的items属性中的表达式的值是java.util.Map时,则var中命名的变量的类型就是
java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。
用表达式${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方
法,表达式语言遵守JavaBean的命名约定。 example:
<c:forEach items="${map}" var="entry">
<c:out value="${entry.key}" />
<c:out value="${entry.value}" />
</c:forEach>
2、根据key变量求值
如果事先知道key那么很容易根据${map.key值}就可以得到值对象,但是如果key是一个变量呢?
有一个问题,如果给定一个key的变量如何使用EL得到对象呢,这里需要使用EL表达式中的[]来解决,
解决方法如示例:
<c:out value="${map[key]}" />
<!-- 这里的map就是 java.util.Map对像,key是这个map里的一个key -->
例子1:
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<%@ page import="java.util.*,com.netway.numbercity.yellow.web.action.xunbao.model.*" %>
<html>
<head>
<%
HashMap table=new HashMap();
HashMap map=new HashMap();
table.put("aaa",new moneyInfo());
table.put("bbb",new moneyInfo( 1, 2));
table.put("ccc",new moneyInfo());
map.put("ddd",new moneyInfo(3,4));
pageContext.setAttribute("table",table);
request.setAttribute("map",map);
%>
</head>
<body>
This a struts page. <br>
<c:set var="keys" value="bbb" ></c:set>
<c:set var="book" value="${pageScope.table[pageScope.keys]}"></c:set>
${keys }=${book.count}
<c:out value="${book.count}"/>
<!-- 这里的${book就是对应于key值得book对象} -->
<c:set var="key" value="ddd"></c:set>
<c:set var="map" value="${requestScope.map[pageScope.key]}"></c:set>
<c:out value="${map.count}"/>
<br>
</body>
</html>
分享到:
相关推荐
根据提供的文件信息,本文将详细解释如何使用JSTL(JavaServer Pages Standard Tag Library)来读取并处理一个名为`map.txt`的文件中的数据。这里主要关注的是如何利用JSTL中的`<c:forEach>`标签来遍历一个`java....
JSTL EL表达式提供了强大而便捷的方式来处理JSP页面中的数据集合,特别是Map类型。通过结合使用`<c:forEach>`标签和EL表达式,开发者可以轻松地遍历并展示Map中的内容。通过示例,我们学习了如何在JSP页面中遍历Map...
在JavaServer Pages (JSP)开发中,JSTL(Java...总之,JSTL和EL是JSP开发中的重要工具,它们极大地提升了代码的清晰度和效率,尤其是在处理集合数据,如Map时。理解并熟练掌握这两者,对于提升JSP应用的质量至关重要。
在JSTL中,处理集合数据如Map和List是非常常见的需求。本篇文档详细介绍了如何在JSTL中遍历Map和List,并通过EL表达式访问和取值。 首先,让我们了解一下JSTL的基本概念。JSTL定义了几种标签库,如核心标签库、格式...
JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中一个用于简化JSP开发的标签库,它提供了一系列预定义的标签,使得开发者可以通过XML语法在JSP页面中处理常见任务,如控制流程、数据操作、I/O...
JSTL是Java Web开发中的一种标准标签库,它提供了一系列的标签用于处理常见的Java Servlet和JSP任务,如迭代、条件判断、XML处理等,极大地简化了JSP页面的编写。在本文中,我们将深入探讨JSTL的核心概念、使用方法...
JSTL的核心库主要包含用于控制流程、迭代、URL处理等的标签。例如,`<c:forEach>`标签是用于遍历集合的,它是JSTL中最常用的标签之一。 **2. `<c:forEach>`标签** `<c:forEach>`标签用于遍历任何可迭代的数据源,...
1. **c:forEach**:用于循环遍历集合、数组或Map。 2. **c:if**和**c:choose**:用于条件判断,类似于Java中的if...else语句。 3. **c:set**:设置变量。 4. **c:out**:安全地输出值,防止XSS攻击。 5. **c:url**和...
四、JSTL的XML处理 1. **XML标签库**:`<x:parse>`解析XML文档,`<x:transform>`进行XSLT转换。 2. **XPath支持**:JSTL的`xml`库提供了对XPath的支持,允许开发者通过XPath表达式访问XML节点。 五、JSTL的SQL...
`standard.jar`提供了JSTL标准标签库的一部分实现,特别是与Java Servlet API紧密关联的部分,如JDBC操作、XML处理等。 使用这两个jar包,开发者可以实现以下功能: - **控制结构**:通过`<c:if>`、`<c:choose>`等...
JSTL的核心在于将业务逻辑和展示逻辑分离,使开发者可以更专注于页面的表现和数据的处理,而无需编写过多的Java脚本或表达式语言。 **JSTL主要组件** 1. **Core标签库 (c)**:这是最常用的一部分,提供了如迭代、...
JSTL 是一个标准的标签库,用于简化JavaServer Pages (JSP) 开发,它提供了一系列的标签来处理常见的任务,如迭代、条件判断、XML处理、国际化和数据库操作等。这个API帮助文档将详细阐述JSTL的核心组件以及如何在...
**JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,它为Java Servlet和JavaServer Pages (JSP) 提供了强大的处理能力,使得开发者可以通过使用标签而不是脚本来实现页面逻辑,从而提高了代码...
**JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)的一个扩展,旨在简化JSP页面的开发,通过提供一组预定义的标签,使得开发者可以在不使用脚本语言的情况下处理业务逻辑。JSTL的出现是为了替代JSP页面...
JSTL的核心库提供了用于处理常见JSP任务的标签,如迭代、条件判断、URL处理等。在遍历方面,`<c:forEach>`标签是最常用的一个。 2. `<c:forEach>`标签: 这个标签用于遍历任何集合,包括数组、列表、Map等。基本...
在这个个人整理的知识点中,主要关注的是JSTL如何处理`Map`集合。 1. **迭代Map集合** 当使用`<c:forEach>`标签时,如果`items`属性的值是一个`Map`对象,那么`var`属性定义的变量将会是一个`Map.Entry`对象。`Map...
JSTL提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等。在Web应用中,遇到无法解析绝对URI的问题,例如`http://java.sun.com/jsp/jstl/core`,这通常意味着缺少了JSTL相关的jar包。 **...
JSTL 1.2是该库的一个版本,提供了丰富的标签来处理常见的Web开发任务,如迭代、条件判断、XML处理、国际化和数据库操作等。 1. **JSTL核心标签库** (core tags): - `<c:set>`:用于在页面作用域、请求作用域、...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它简化了在JSP页面中的编程,使开发者能够使用预定义的标签来处理常见的任务,如迭代、条件判断、XML处理等。在本文中,我们...
JavaServer Pages Standard Tag Library (JSTL) 是一个用于JSP(JavaServer Pages)的标准标签库,它为开发人员提供了一种简单而有效的方式来处理常见任务,如迭代、条件语句、XML处理等,而无需编写自定义标签或...