利用JSTL循环Map集合,我里面保存的为 Map<String,Map<String,List<Product>>> ,我想在JSP页面循环

利用JSTL循环Map集合,我里面保存的为 Map<String,Map<String,List<Product>>> ,我想在JSP页面循环,第1张

直接点取就可以了
eg
map1put("map2Key",map2);
<c:forEach items="${map1map2Key}" var="p" varStatus="pr">
<c:forEach items="${map1map2Key[fn:length(map1map2Key)-prindex-1]}" var="p0" varStatus="p1">
${p0value2}<br/>
</c:forEach>
</c:forEach>

<%
List<Map> list = new ArrayList<Map>();
Map<String,String> map1 = new HashMap<String,String>();
map1put("testaa","mytestaa");
map1put("testbb","mytestbb");
Map<String,String> map2 = new HashMap<String,String>();
map2put("testcc","mytestcc");
map2put("testdd","mytestdd");
listadd(map1);
listadd(map2);
pageContextsetAttribute("list",list);
%>
假设使用jstl标签输出:
<c:forEach items="${list}" var="temp">
<c:forEach items="${temp}" var="map">
${mapkey}---->${mapvalue}<br>
</c:forEach>
</c:forEach>

根据你想通过accp输出user对象的内容 那首先你返回保存在requestScope范围的list最好将其泛型成数组对象(不管以后有多少个对象保存都可以读出(关联的时候))
你的servlet中保存在request的List应该设置为List<Object []> list=。。。。。;这种类型的list
jstl循环输出accp中user对象的内容,这个时候accp对象数组中只保存了user一个对象,故在数组中是0下标 ,如果accp中保存多个对象 下标以此类推

cart不是类型,就一个变量,引用类型的变量(单看这里看不出是什么)
假如说:
List cart;
而你的items是这个cart集合(需要遍历的东西)
同时var = "cart",那意思就是
你的集合本来就是cart,而你又给集合里面每个元素又取名叫"cart"
相当于:(cartvaluefoodfoodID )
List cart;
Object var_cart = cartget(0);
var_cartgetValue()getFood()getFoodID();
上面的var_cart就是代表给个元素的名称,也就是你var="cart"起的作用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13327939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存