天天看點

Struts2架構學習筆記——02

結果頁面配置

1.全局結果頁面

  • result标簽配置action方法的傳回值到不同的路徑裡面
  • 建立兩個action,執行預設的方法execute方法,讓兩個action的方法都傳回success,傳回success之後,配置到同一個頁面裡面

    (1)如果多個action,方法裡面傳回值相同的,到頁面也是相同的,這個時候可以使用全局結果頁面配置

    Struts2架構學習筆記——02
    (2)在package标簽裡面配置
    Struts2架構學習筆記——02

2.局部結果頁面

配置全局頁面,也配置了局部頁面,最終以局部配置為準

Struts2架構學習筆記——02

3.Result标簽的type屬性

  • result标簽裡面除了name屬性之外,還有一個屬性 type屬性

    type屬性:如何到路徑裡面(轉發還是重定向)

  • type屬性值

    (1)預設值,做轉發操作,值是 dispatcher

    Struts2架構學習筆記——02
    (2)做重定向操作,值是 redirect
    Struts2架構學習筆記——02
    redirectAction:重定向到action
    Struts2架構學習筆記——02

Action擷取表單送出資料

  • 之前web階段,送出表單到servlet裡面,在servlet裡面使用request對象裡面的方法擷取,getParameter,getParameterMap
  • 送出表單到action,但是action沒有request對象,不能直接使用request對象
  • action擷取表單送出資料主要三種方式

    (1)使用ActionContext類

    (2)使用ServletActionContext類

1.使用ActionContext類擷取

(1)建立表單,送出表單到action裡面

(2)在action使用ActionContext擷取資料

Struts2架構學習筆記——02

2.使用ServletActionContext類擷取

Struts2架構學習筆記——02

調用類裡面靜态方法,得到request對象

Struts2架構學習筆記——02

在action操作域對象

  • request、session、servletContext域對象
  • 使用ServletActionContext類操作
    Struts2架構學習筆記——02

Struts2封裝擷取表單資料方式

原始方式擷取表單封裝到實體類對象

Struts2架構學習筆記——02

1.屬性封裝

1 直接把表單送出屬性封裝到action的屬性裡面

2 實作步驟
(1)在action成員變量位置定義變量
 變量名稱和表單輸入項的name屬性值一樣
(2)生成變量的set方法(把set和get方法都寫出來)
3 使用屬性封裝擷取表單資料到屬性裡面,不能把資料直接封裝到實體類對象裡面
           
Struts2架構學習筆記——02

2.模型驅動封裝

1 使用模型驅動方式,可以直接把表單資料封裝到實體類對象裡面
2 實作步驟
(1)action實作接口 ModelDriven
(2)實作接口裡面的方法 getModel方法
 把建立對象傳回
(3)在action裡面建立實體類對象
3 使用模型驅動和屬性封裝注意問題:
  在一個action中,擷取表單資料可以屬性封裝,使用模型驅動封裝,
不能同時使用屬性封裝和模型驅動封裝擷取同一個表單資料
如果同時使用,之後執行模型驅動

           
Struts2架構學習筆記——02

注:表單輸入項name屬性值和實體類屬性名一樣