Struts标签-使用<s:iterator>迭代遍历集合中的集合
2018-02-02 11:51
441 查看
有部分业务需求需要遍历list中的list
比如当前页面需要显示多个category,每个分类下又对应多个product
创建Category.java
Category除了有id和name属性外,还有List属性
表示category和product是一对多关系
ProductAction.java
在list()中准备数据
两个category,并且每个category对应3个product
list.jsp
遍历每一个category,接着把每个category下对应的products也遍历出来
测试
重启tomcat,访问页面
http://127.0.0.1:8080/struts/listProduct
比如当前页面需要显示多个category,每个分类下又对应多个product
创建Category.java
Category除了有id和name属性外,还有List属性
表示category和product是一对多关系
package com.how2java.bean; import java.util.List; public class Category { int id; String name; List<Product> products; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Product> getProducts() { return products; } public void setProducts(List<Product> products) { this.products = products; } }
ProductAction.java
在list()中准备数据
两个category,并且每个category对应3个product
package com.how2java.action; import java.util.ArrayList; import java.util.List; import com.how2java.bean.Category; import com.how2java.bean.Product; public class ProductAction { private Product product; private List<Category> categories =new ArrayList(); public List<Category> getCategories() { return categories; } public void setCategories(List<Category> categories) { this.categories = categories; } public String show() { product = new Product(); product.setName("iphone7"); return "show"; } public String add() { return "show"; } public String list() { Category category1 =new Category(); category1.setId(1); category1.setName("category1"); Category category2 =new Category(); category2.setId(2); category2.setName("category2"); categories.add(category1); categories.add(category2); List<Product> products1=new ArrayList(); Product p1 = new Product(); p1.setId(1); p1.setName("product1"); Product p2 = new Product(); p2.setId(2); p2.setName("product2"); Product p3 = new Product(); p3.setId(3); p3.setName("product3"); products1.add(p1); products1.add(p2); products1.add(p3); List<Product> products2=new ArrayList(); Product p4 = new Product(); p4.setId(4); p4.setName("product4"); Product p5 = new Product(); p5.setId(5); p5.setName("product5"); Product p6 = new Product(); p6.setId(6); p6.setName("product6"); products2.add(p4); products2.add(p5); products2.add(p6); category1.setProducts(products1); category2.setProducts(products2); return "list"; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } }
list.jsp
遍历每一个category,接着把每个category下对应的products也遍历出来
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> <%@ taglib prefix="s" uri="/struts-tags" %> <%@page isELIgnored="false"%> <table border="1" cellspacing="0"> <tr> <td>id</td> <td>name</td> <td>products</td> </tr> <s:iterator value="categories" var="c"> <tr> <td>${c.id}</td> <td>${c.name}</td> <td> <s:iterator value="#c.products" var="p"> ${p.name}<br/> </s:iterator> </td> </tr> </s:iterator> </table> <s:debug/>
测试
重启tomcat,访问页面
http://127.0.0.1:8080/struts/listProduct
相关文章推荐
- Struts标签-使用<s:iterator>标签遍历集合
- 使用<s:iterator>标签来循环遍历某一实体下的set集合数据
- 使用Struts2标签<s:iterator>来遍历集合
- Struts遍历标签<s:iterator>总结
- 练习使用struts中的iterator标签对集合进行迭代
- Struts遍历标签<s:iterator>总结
- Struts遍历标签<s:iterator>总结 [转]
- Struts2.3,<s:iterator>,<c:forEach>遍历map中的list集合
- Struts遍历标签<s:iterator>总结 .
- Struts2.3,<s:iterator>,<c:forEach>遍历map中的list集合
- Struts遍历标签<s:iterator>总结 .
- Struts标签<s:iterator>遍历访问复杂Map对象
- Struts2标签遍历<s:iterator>集合
- Struts遍历标签<s:iterator>总结
- Struts遍历标签<s:iterator>总结 .
- struts标签中<s:iterator>的使用
- struts2的强大迭代标签:<s:iterator>
- Struts2中<s:iterator></s:iterator>标签的使用:
- Struts2标签系列之<s:iterator> 迭代 一行两列
- 在使用struts标签时,把<s:if>中的test写成了text