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"起的作用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)