struts2的迭代

我這裏寫的是一個小實例,一個用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<Student> students;
                                                                                                                                                                                                                         
                                                                                                                                                                                                                         
    @Override
    public String execute() throws Exception {
        Student student1 = new Student(),student2=new Student();
        student1.setName("Lucy");
        student1.setAge("15");
                                                                                                                                                                                                                             
        students=new ArrayList<Student>();
        students.add(student1);
                                                                                                                                                                                                                             
        student2.setName("Lily");
        student2.setAge("14");
        students.add(student2);
        return SUCCESS;
    }
    public List<Student> getStudents() {
        return students;
    }
    public void setStudents(List<Student> students) {
        this.students = students;
    }
}

配置struts.xml文件

<package name="iterator" extends="struts-default" namespace="iterator">
    <action name="iterator_test" class="StudentAction">
        <result name="success">/iterator.jsp</result>
    </action>
</package>

最後是iterator.jsp。這裏需要說明的是theme這個屬性。如果沒有這個,那麼排版是有問題的,不會對齊,因爲struts2標籤默認自動生成<td>

<table>
        <tr>
            <td>姓名:</td>
            <td>年齡:</td>
        </tr>
                     
        <s:iterator value="students">
            <tr>
                <td><s:label name="name" theme="simple"/></td>
                <td><s:label name="age" theme="simple"/></td>
            </tr>
        </s:iterator>
    </table>

這樣就ok了。

184234442.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章