天天看點

Struts2 如何在兩個 action 間傳遞參數

在使用了struts2的網站中,我要實作這樣一個功能:

在一個頁面中釋出一條句子,然後立刻跳轉到該句子的顯示頁,這就牽涉到兩個action之間的跳轉傳參問題(我第二個action必須知道前一個action傳過來的句子id才能顯示正确的頁面)

實作方式網上說的都不太清楚,其實很簡單,首先在第一個頁面将要傳的參數定義為一個屬性(即包好了​

​get​

​​和​

​set​

​​方法)

如下代碼假設是傳​​

​id​

​:

private long sentenceId;

public long getSentenceId() {
    return sentenceId;
}

public void setSentenceId(long sentenceId) {
    this.sentenceId = sentenceId;
}      

這樣就行了,第一個action就不需要改了,然後修改​

​struts.xml​

​​

我采用的跳轉方式是​​

​redirectAction​

​​,然後在裡面設定兩個參數,其中​

​actionName​

​​是要跳轉的第二個​

​action​

​​,而​

​sentenceId​

​​就是要傳的參數,注意​

​${}​

​裡的内容必須和上面定義的屬性名一樣。

<action name="XXX" class="XXX" method="execute">
    <result name="success" type="redirectAction">
        <param name="actionName">sentence</param>
        <param name="sentenceId">${sentenceId}</param>
    </result>
</action>      

在第二個action中,也要定義一個屬性(有​

​set​

​​和​

​get​

​​方法),而這個屬性名要和上面設定的​

​param name="xxx"​

​​這個的​

​name​

​一樣。

繼續閱讀