struts2中不同action之間進行傳值的方法

2021-06-27 17:11:06 字數 1070 閱讀 1136

關於在struts2中不同的action之間進行傳值方法,我在此總結一下。

1.跳轉型別type="chain"

獲取request   httprequest request =  servletactioncontext.getrequest();

在action1中寫request.setattribute("username", username);

在action2中寫request.getattribute("username");就可獲得action1中存入的值,如果跳轉型別是其他(比如:redirectaction就無法獲取,因為重定向以後不是request,所以request無法獲取值);但是如果是chain類似於servlet中的跳轉(**forward)。是同乙個request.

2.跳轉型別type="chain"會將action1中的所有屬性傳遞到action2,但是action2想要獲取就必須擁有屬性和物件get.set方法。

在action2中寫出action1需要傳過來的屬性和set.get方法。比如action2中需要userid.只需要寫出userid和set,get方法就可以直接獲取到值。

1.2種方法其實類似,第一種是顯示儲存和獲取。第二種是隱示的。

3.跳轉型別是tyepe="redirect"

可以使用loaddeviceeditlist.action?eventid=$類似於前台頁面傳值到後台的方法進行傳值。但是務必注意在目標action中必須包含該屬性的getter,setter方法

4.跳轉型別是tyepe="redirect"

loaddeviceeditlist.action

<

param

name="username"

>$

param

>

<

param

name="userpassword"

>$

param

>

3.4中也類似3是把值和路徑拼接,4是分開來。看個人喜好。

如果只傳少量的值建議使用1.3.4方法。如果需要action1中的所以值傳到action2建議使用2方法。

struts2裡同包與不同包的action之間跳轉

有關struts2中action間的跳轉可分為兩部分,一部分為同乙個包中action間的跳轉,還有乙個就是在不同包中action間的跳轉。不管是不是在同乙個包中,首先要明確的是要實現跳轉,必須要將result中type屬性設為chain或redirectaction。一 同乙個包中的跳轉 在acti...

Struts和struts2的不同

struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...

struts2中不同action之間進行傳值的方法

關於在struts2中不同的action之間進行傳值方法,我在此總結一下。1.跳轉型別type chain 獲取request httprequest request servletactioncontext.getrequest 在action1中寫request.setattribute use...