foreach循环list 嵌套 list
<%
List<List<Product>> list1=new ArrayList<List<Product>>();
List<Product> subList=new ArrayList<Product>();
Product a2=new Product(2,"恩",23,"南漳",1);
Product a3=new Product(3,"娘",23,"南漳",1);
Product a4=new Product(3,"吗",23,"南漳",1);
subList.add(a2);
subList.add(a3);
subList.add(a4);
list1.add(subList);
request.setAttribute("result", list1);
%>
并不是因为上面规定了泛型 所以 foreach 才知道list中的对象 我想是foreach 能够自动取集合里面的数据 或者集合。 每执行一次foreach都从集合中去一次值
<c:forEach var="list" items="${result}">
<c:forEach var="subList" items="${list}">
${subList.proName}
</c:forEach>
</c:forEach>
第一次执行foreach时.所对应的items是
request.setAttribute的list1,然后就会开始循环第一个foreach中的存储的第一位
接下来
在进行第二个foreach 这时候 第二个items接受都是第一个var的名称,这时候 第二个foreach就能过找到第一个foreach所对应的存储集合,然后把这个集合的东西全部遍历
出来
foreach 的items的类型是数组 ,集合类,字符串,枚举