我这里写的是一个小实例,一个用struts2标签迭代的实例。

我在做项目的时候碰到的,先是记录一个人的非免疫接种史,但是我们知道每个人的接种史都是不同的,有的人可能一条接种史的记录也没有,而有的人可能有十几条,于是做的时候就是有一个单独的table来记录这些数据,记录这些数据之后还要进行查询显示,于是用到了迭代。

我知道<s:iterator>的方式有很多种,我下面写的是我用的那一种。当然,我不会用我做的那个项目中的东西,而是另外写了一个小例子,道理是一样的。

先是写了一个Student类

public class Student {    private String name;    private String age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }}

接着StudentAction类,本来数据应该是从数据库里面查询得到,我这里为了方便,就模拟了。

import java.util.ArrayList;import java.util.List;import com.opensymphony.xwork2.ActionSupport;public class StudentAction extends ActionSupport {    private List
students; @Override public String execute() throws Exception { Student student1 = new Student(),student2=new Student(); student1.setName("Lucy"); student1.setAge("15"); students=new ArrayList
(); students.add(student1); student2.setName("Lily"); student2.setAge("14"); students.add(student2); return SUCCESS; } public List
getStudents() { return students; } public void setStudents(List
students) { this.students = students; }}

配置struts.xml文件

/iterator.jsp

最后是iterator.jsp。这里需要说明的是theme这个属性。如果没有这个,那么排版是有问题的,不会对齐,因为struts2标签默认自动生成<td>

姓名: 年龄:

这样就ok了。