struts2

Struts2的輸入驗證

一.驗證分類:

1. 服務器端驗證(Java代碼來完成驗證(Struts的內置驗證框架,可以完成服務器端驗證))。

2. 客戶端驗證(js驗證——在客戶端執行,執行的時候依賴與客戶度(手動js驗證,jquery驗證框架進行驗證))

二.Struts的內置驗證框架:

Struts2中驗證有兩種方式:

1. 手動驗證。

2. 配置驗證框架,自動驗證。

三.內置驗證框架使用步驟:

1. 需要驗證的Action必須繼承自ActionSupport類。

2. 創建驗證配置文件。

要求:a) 配置文件必須和action在同一目錄。

      b) 文件名的格式必須是:Action類名-validation.xml(驗證Action中的所有方法) 

                             Action類名-訪問Action的名字-validation.xml(只會驗證Action中指定的方法)

3. 查看內置驗證器:xwork-XXXXX.jar目錄中(找到default.xml配置文件)

特別需要注意:

1. 使用了驗證器之後,如果驗證失敗;必須配置<result name=input></result>表示驗證失敗之後,跳轉的頁面。

2. 如果jsp頁面中使用了,Struts的標籤;那麼必須讓這個jsp頁面必須經過struts的核心過濾器,進行過濾;否則頁面不能正常解析struts的標籤。

3. 基本數據類型,不能使用Struts的內置驗證,建議使用包裝類。

四.手動驗證步驟:

1. 繼承ActionSupport,重寫validate()方法。

在執行Action中具體的方法之前,會先執行validate()方法;如果有錯誤,則返回input指定的頁面。(有錯誤:super.addFiledError()

手動驗證總結:

1. 可以在實體中的setXxx()方法進行控制。

2. validate()方法中進行驗證。

在struts2中進行類型轉換  

在該字段的實體中

private Integer age;

public Integer getAge() {
  return age;
 }

 public void setAge(Object age) {
  String str_age = age+"";
  
  if(str_age.matches("[0-9]+")){
   this.age = Integer.parseInt(str_age);
  }
  else{
   this.age = 0;
  }
 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章