使用jstl标签遍历 双层的map 怎么遍历 (map下面的map)

作者&投稿:校印 (若有异议请与网页底部的电邮联系)
java中,怎么在jsp页面遍历map集合~

java中在jsp上遍历map的方法是利用jstl标签。
利用el表达式 + jstl标签:
1> 引入jstl核心标签库:
" target="_blank">http://java.sun.com/jsp/jstl/core" %>


2> 利用foreach遍历map:


${m.key} --> ${m.value}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map map=new HashMap();
map.put(1, "zhu");
map.put(2, "aa");
map.put(3, "bbb");
map.put(4, "ccc");
map.put(5, "ddd");
request.setAttribute("map", map);
request.getRequestDispatcher("/show.jsp").forward(request,response);
}




show.jsp



${xx.key}
${xx.value}


显示:
1 zhu
2 aa
3 bbb
4 ccc
5 ddd


每个 xx 代表一个key-value映射关系 也就是 Entry
Entry 有 getKey() 和 getVaue() 方法
所以 就 xx.key xx.value
.xx 就是调用getXx()方法

如果你的map 的value 里放的是 对象类型比如 一个person(JavaBean)的实例
如果有 name 属性 那么取得name属性 ${xx.value.name}
嵌套多少层没事,只要有get方法

这才是正确的写法
<c:forEach var="firstMap" items="${map}">
<c:forEach var="secondMap" items="${firstMap.value}"> //${firstMap.value}为第一层map的值
<c:out value="${secondMap.key}"/> //第二层map的键
<c:out value="${secondMap.value}"/> //第二层map的值
</c:forEach>
</c:forEach>

<c:forEach var="curr" items="${map}">
<c:forEach var="c" items="${curr.map1}">
取值...
</c:forEach>
</c:forEach>


jstl遍历map中的list的问题
这个应该是你封装数据的问题,这个号处理把值拿出来replace下就可以剔除中括号了。如果是两层循环为什么不封装json呢,这样你取值的时候应该是没问题的。希望能帮到你!

jsp 中${ } 是什么意思? <c:forEach var="mem" items="${memberList}...
{}叫做EL表达式,就是说可以取到服务器的各种作用域里面的值,比如说取到request里面的一个叫 list集合 的话,你可以写成${requestScope.list},至于<c:foreach items="${requestScope.list}" var="val"> {val} <\/c:foreach>的话,就是jstl标签,就是迭代那个request作用域里面的list,并且每次取...

jsp里面如何用forEach取一个数组里面的值,从而实现一个下拉列表_百度知 ...
1、首先按照图示输入代码初始化Map<String,String>。2、编写前台代码,使用foreach标签遍历Map<String,String>。3、访问前台页面,可以看到Map<String,String>的遍历结果。4、后台代码如下,初始化Map<String,Map<String,String>>。5、编写前台代码,使用foreach标签遍历Map<String,Map<String,String>>。6...

java set怎样在下拉框中遍历出来
你的意思是set集合中存放的数据 ,怎么遍历出来存放到 select下拉框中 ?这个问题很简单。。<c:forEach items="${users}" var="user" > ${user.name} <\/c:forEach>

...20 个整数(10以内的),放入一个ArrayList中, 用迭代器遍历这个...
假设list里都是存放String的1,ArrayListlist1=newArrayList();Listlist2=newArrayList();for(Stringtemp:list2){list1.add(temp);}2,可以在页面中放java代码,用request.setAttribute把ArrayList传输到页面然后遍历。当然,还可以用其他方法,比如struts,比如jstl ...

...100数字,要用JSTL从数组取值,不要100个option。。。你懂的
比如 request里有一个int数组 arr <c:forEach var="intNum" items="${arr}"> <option value="<c:out value="${intNum}" \/>"><c:out value="${intNum}" \/> <\/c:forEach> 注:对于遍历set,List同样适用

j2ee 标签如何遍历arraylist
<c:forEach items="${users}" var="auser"> {auser.name} <\/c:forEach> items="${users}"相当于将类中request.setAttribute("users", users);取过来 var="auser" 相当于将集合中的值一个个取出来赋给一个对象 {auser.name}是获得auser对象的name值 ...

strust2比起struts1,有哪些好处?
四、Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。五、Struts1 整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。Struts2可以使用JSTL,但是也支持一个更强大和灵活...

SSH框架中使用structs1和struct2的区别是什么?
Struts1 整合了JSTL(JSP Standard Tag Library,JSP标准标签库),因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱。Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言“Object Graph Notation Language(OGNL)” .7、绑定值到页面(View):Struts1使用标准JSP机制...

用<forEach>遍历list集合时,提示我找不到对象的属性。
首先 你先看实体类 是不是属性正确 记住 属性前2位 要不是全部小写 要不全部大写 否则封装(get set)的时候 会引发找不到该属性 也不要带下划线 在第3位 就随便了。

马鞍山市15640982206: 使用jstl标签遍历 双层的map 怎么遍历 (map下面的map)
弘芬鑫贝: 这才是正确的写法 &lt;c:forEach var="firstMap" items="${map}"&gt; &lt;c:forEach var="secondMap" items="${firstMap.value}"&gt; //${firstMap.value}为第一层map的值 &lt;c:out value="${secondMap.key}"/&gt; //第二层map的键 &lt;c:out value="${secondMap.value}"/&gt; //第二层map的值 &lt;/c:forEach&gt; &lt;/c:forEach&gt;

马鞍山市15640982206: 如何使用jstl标签循环map? -
弘芬鑫贝: //java 代码 Map testMap = new HashMap(); testMap.put("a", "123"); testMap.put("b", "itjob"); testMap.put("c", "远标"); testMap.put("d", "456"); request.setAttribute("map", testMap);页面代码 ${m.key } == ${m.value } 结果

马鞍山市15640982206: 怎么在jsp上遍历session里的map -
弘芬鑫贝: <c:if test="${sessionScope.subList!=null}"><c:forEach var="message" items="${sessionScope.subList}"><tr align="center"><td height="30" bgcolor="#FFFFFF"><a href="#" class="title">${message.title}</a><input type...

马鞍山市15640982206: JSTLC标签里面怎么迭代循环 Map的集合 -
弘芬鑫贝: 不可以直接迭代,你可以把HashMap转换成Hashset 在用jstl进行迭代. 你可以看以下例子,把map转换成两个Set集合,key转成keyset集合,value转成valueset集合.用那个就迭代那个,一般要value就可以了.参考; Map map =new HashMap(); map.put("1", "a"); Set keyset= map.keySet(); Set valueset=new HashSet(); for(Object o:keyset){ valueset.add(map.get(o)); }

马鞍山市15640982206: java:jsp中map集合遍历怎么写,如下 -
弘芬鑫贝: 首先要放到作用域内吧 要不然怎么拿得到? ${map(名字).id}...

马鞍山市15640982206: 怎么遍历显示list中存放的map集合 -
弘芬鑫贝: <% List list = new ArrayList(); Map map1 = new HashMap(); map1.put("testaa","mytest...

马鞍山市15640982206: 怎么遍历显示list中存放的map集合 -
弘芬鑫贝: <% List<Map> list = new ArrayList<Map>(); Map<String,String> map1 = new HashMap<String,String>(); map1.put("testaa","mytestaa"); map1.put("testbb","mytestbb"); Map<String,String> map2 = new HashMap<String,String>(); map2....

马鞍山市15640982206: 用JSTL 怎么遍历Map中的实体类
弘芬鑫贝: &lt;c:forEach var="object" items="${userMap}"&gt; &lt;c:out value="${object.value.name}"&gt;&lt;/c:out&gt; &lt;p&gt; &lt;/c:forEach&gt; 参考这个 http://fengzhiyin.javaeye.com/blog/310939

马鞍山市15640982206: JSP 中使用EL遍历MAP
弘芬鑫贝: 确保jsp页面顶部导入了JSTL标签库: <%@taglib prefix="c" uri=" http://java.sun.com/jsp/jstl/core"%>然后可以像下面这样遍历(假设你的map的bean名称为:mapBean) <c:forEach var="item" items="${mapBean}"> map键名:${item.key} map键值: ${item.value} <br> </c:forEach>

马鞍山市15640982206: 怎么遍历显示list中存放的map集合
弘芬鑫贝: &lt;% List&lt;Map&gt; list = new ArrayList&lt;Map&gt;(); Map&lt;String,String&gt; map1 = new HashMap&lt;String,String&gt;(); map1.put("testaa","mytestaa"); map1.put("testbb","mytestbb"); Map&lt;String,String&gt; map2 = new HashMap...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网