Struts2 手動驗證

2022-08-24 14:48:12 字數 1735 閱讀 5374

* 首先要從頁面中獲取對應的標籤name屬性的值,在動作類action中宣告同名的屬性,提供get和set方法

* 要繼承actionsupport類或者實現validateable介面

* 重寫validateable介面的validate()方法

* 前提是:要保證setusername()、validate()、login()方法要按照這個先後順序執行

* 如果登入失敗,如何處理:

* this.addfielderror( key, value);

* key:錯誤提示字段

* value:錯誤提示資訊

* 什麼時候才是驗證通過?

* 驗證通過:1、map集合不存在;2、map集合存在並為空

* 驗證不通過:map集合存在並且不為空

* 分析需求:

* 使用者名稱不能為null ,""

* 密碼不能為null, "" ,並且密碼的長度6-12之間

* 針對所有業務方法進行驗證還是針對某個指定業務方法進行驗證?

* 重寫的validate()方法,針對所有業務方法進行驗證

* 重寫的validate()方法加上要驗證的指定的業務方法名(業務方法名的首字母大寫),實現針對某個指定的業務方法進行驗證

* 為什麼要這樣進行拼接?因為struts2框架底層拼接,如果不這樣寫,底層就找不到對應方法名

1

index.jsp23

"loginform

"namespace="

/validate

" action="

validateaction_login.action

" method="

post

">

4 使用者名稱:"

username

"/>

5 密碼:"

pwd"/>6"

登入"/>78

"$/validate/validateaction_test.action

">test

1 @suppresswarnings("serial")

2public

class validateaction extends

actionsupport

8public

void

setusername(string username)

11public

string getpwd()

14public

void

setpwd(string pwd)

17//

只驗證login 業務,不驗證test,如果全部驗證,把方法名攜寫作validate()

18public

void

validatelogin()

23if(pwd==null || pwd.equals(""))

24else

$";28 pattern p=pattern.compile(pattern);

29 matcher m=p.matcher(pwd);

30boolean b=m.matches();

31if(!b)34}

35}3637

public

string login()

41public

string test()

45 }

Struts2驗證框架

action配置中一定要設定input返回頁面 新增驗證只要建立驗證的xml檔案 在action同包下,建立 action類名 validation.xml 如 validateaction建立validateaction validation.xml 注意 1.要驗證的方法不能叫input.2.這...

struts2 驗證框架

驗證框架 validate 第一種方式 繼承actionsupport類重寫validate 方法 表示提交到此action所有請求都會執行驗證。eg public classloginaction extendsactionsupport publicstring execute override...

Struts2 框架驗證

一 對於輸入校驗struts2提供了兩種實現方法 1 採用手工編寫 實現。2 基於xml配置方式實現。注意 配置驗證檔案actionname alias validation.xml 常用 使用基於xml配置方式實現輸入校驗時,action也需要繼承actionsupport 並且提供校驗檔案和ac...