在JSP中如何使用EL表达式循环的输出HaspMap中的数据?
解决时间 2021-08-19 12:03
- 提问者网友:書生途
- 2021-08-18 13:54
情况是这样的:打个比方讲有两个JSP页面a和b;在a中用Session保存了一个HashMap类型的数据;在b页面中;再将所保存的HashMap对象取出来,然后用EL表达式读取出来(总之就是一个数据传递与读取)。但是在b页面我们应该怎样用EL代码循环读取出来呢?要求键-值相互对应。
在a中代码为:session.setAttribute("map",haspmap);
在b中代码为:
<tag:var="map" value="${sessionScope.map}";
<tag:forEach var="mapitem" items="${??????}";
在循环的?号出 该怎么写才好?
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-08-18 15:04
你已经声明了个变量得到了 map集合里的值, items只要填入 ${ map} 就行啦!!!
希望能帮到你,谢谢..........
全部回答
- 1楼网友:琴狂剑也妄
- 2021-08-18 17:16
嗯、应该是这样的、我说下大概思路吧、这里用到Map接口和Set()接口、首先在b页面取到 Map testMap=(Map)session.getAttribute("map");然后通过Map()接口中的keySet()方法、可以把Map中的key键以Set形式返回、Set testSet=testMap.keySet();在通过toArray()方法、把Set对象转换为Obejct类型数组、Object[] key=testSet.toArray();最后再遍历该数组、注意以数组元素为key值、取出Map中所存储的数据、你在这里用到了jstl、也未尝不可、稍微变换一下就可以了吧、相信你行的、就这样了、以上全是我的理解、谢谢、、
祝你好运、、、
- 2楼网友:酒醒三更
- 2021-08-18 16:11
?处写map,循环得到map中的元素。
- 3楼网友:轮獄道
- 2021-08-18 15:51
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ taglib uri=" http://java.sun.com/jsp/jstl/core" prefix="c"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'el_jstl.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->
</head> <body> jstl<br> <c:forEach items="${map }" var="mapItem"> key=${mapItem.key }==>value=${mapItem.value } <br/> </c:forEach> </body></html>
我要举报
大家都在看
推荐资讯