1. 程式人生 > >Struts2——資料校驗

Struts2——資料校驗

程式設計式校驗(伺服器端)

在action中編寫校驗程式碼
步驟:
1、action繼承ActionSupport類,並實現其中的validate()方法;
這裡寫圖片描述
2、在struts.xml中配置action,可以選擇通過在jsp介面新增來顯示,也可通過對action定義跳轉來實現;
定義result
這裡寫圖片描述
定義s:fielderror
這裡寫圖片描述
3、針對指定的動作進行校驗
方式一:
在不需驗證的動作方法前加://@SkipValidation// 指忽略驗證
方式二:
按書寫規範來指定,如:

public String edit(){
    ..動作方法
}

public void validateEdit(){
    ..驗證方法
}

驗證方法的命名應該為:validate+動作方法名(首字母大寫)

宣告式校驗 :通過xml配置檔案

1、針對動作類中的所有動作進行校驗
步驟:
<1>在action的同目錄中建立xml檔案,命名規則如下:
action名-validation.xml
<2>匯入相應的dtd檔案:
這裡寫圖片描述
<3>通過validators標籤來實現校驗功能:
這裡寫圖片描述


其中,field的name屬性是需驗證的屬性名,field-validator的type屬性是指定驗證規則。message是提示內容,可通過來顯示在jsp頁面。
field-validator的type值:
requiredstring:必須的字元
stringlength:長度
email:電子郵件格式
expression:兩數的關係比較(可以定義<param name="maxlength/minlength">
2、針對指定的動作進行校驗
方式一:使用@SkipValidation
方式二:按規範書寫來指定
若只需對ValidateAction中的某個add方法實施校驗,校驗檔案的取名為:
ActionClassName-ActionName-validation.xml
ActionClassName為ValidateAction,ActionName為add

自定義宣告式校驗

實際上就是自己建一個校驗器,並可以通過上述內容進行引用
實現步驟:
1、建立一個類並繼承FieldValidatorSupport類,實現其中的validate(Object object)方法;
這裡寫圖片描述

2、編寫isStrong方法;
這裡寫圖片描述
3、註冊校驗器
在WEB-INF\classes目錄中,建立validators.xml檔案,並匯入相應dtd(不同與之前dtd),再編寫validators配置檔案
這裡寫圖片描述
4、在ActionDemo-validation.xml中呼叫
這裡寫圖片描述