struts2 處理結果型別

2021-07-24 18:02:17 字數 1575 閱讀 4521

struts2的處理流程

使用者請求→struts2框架→控制器→struts2框架→檢視資源

/success.jsp
當result中的name值預設為success。

input   action的執行需要前端獲得引數,input代表這個引數傳遞的頁面,對一些引數進行驗證,驗證不通過時,返回input頁面。

驗證第一種情況,引數的型別錯誤。這是乙個user類

public class user 

public void setage(int age)

public listgetuserlist()

public void setuserlist(listuserlist)

public string getusername()

public void setusername(string username)

public string getpassword()

public void setpassword(string password)

}

下面是對user的登入頁面
當我們在年齡處輸入abc,發現頁面發生跳轉,依舊跳轉到login頁面檢視。此時當我們查詢路徑時發現已經是loginaction.action,說明在此處input起了作用隔絕了不符合常規的字元。

第二種我們自定義攔截的規則

jsp頁面不變,下面對loginaction.action的修改

public class loginaction extends actionsupport implements modeldriven*/

// 此處和下面validate()方法重複只需留乙個

system.out.println(user.getusername());

system.out.println(user.getuserlist().get(0).getusername());

system.out.println(user.getuserlist().get(1).getusername());

system.out.println(user.getuserlist().get(2).getusername());

return success; }

@override

public user getmodel()

@override

public void validate() }

}

我們對第乙個姓名加上自定義限制讓它不能為空,為空時跳轉input頁面。

標籤分區域性和全部結果。

區域性結果:作為的乙個結果

全部結果:以下

...

param屬性:

/$.jsp

result中的type屬性

Struts2支援的處理結果型別

struts2支援使用多種檢視技術,例如jsp velocity和freemarker等。當乙個action處理使用者請求結束後,僅僅返回乙個字串,這個字串就是邏輯檢視名,但改邏輯檢視並未與任何的檢視技術及任何的資源關聯 直到我們在struts.xml檔案中配置改邏輯檢視。結果型別決定了action...

struts2結果型別

在struts2 core 2.3.1.1.jar struts de t.xml配置檔案下可以看到 省略 chain 兩個action之間的 dispatcher action 到jsp freemarker 處理freemarker用的 httpheader 處理特殊http redirect ...

Struts2結果型別

struts2結果型別 1.dispatcher 將當前請求request和response移交給另乙個servlet,預設型別 2.redirect 重定向 關閉當前請求,改變瀏覽器指向的url,不移交request和response secure adminportfolio.action 末尾...