struts2 和 mvc 定義關係
strutsprepareandexecutefilter: 控制器
jsp : 檢視
action : 可以作為模型,也可以是控制器
struts2 action 接受請求引數 :屬性驅動 和 模型驅動
第一種:action 本身作為model物件,通過成員setter封裝 (屬性驅動 )
頁面:使用者名稱
action:
publicclass registaction1 extends actionsupport 到$之間
url: 網路路徑校驗器
電子郵件位址無效
regex:正規表示式校驗器
手機號格式不正確!
fieldexpression : 字段表示式校驗
兩次密碼輸入不一致
*************************====
如何對指定的方法校驗
?
格式 action類名-actionname(元素name屬性)-validation.xml
例如 : 校驗addcustomeraction中execute方法 配置name="addcustomer".../> 校驗檔案名字:
addcusotmeraction-addcustomer-validation.xml
步驟一: 自定義校驗器必須實現 validator 介面
通常自定義校驗器 繼承 validatorsupport 和 fieldvalidatorsupport
*validatorsupport 針對不是乙個輸入字段 (兩個密碼一致)
*fieldvalidatorsupport 針對是乙個輸入字段 (使用者名稱非空)
步驟二: 註冊校驗器
在工程的src下新建validators.xml檔案
引入 xwork-core-2.3.7.jar中xwork-validator-config-1.0.dtd
步驟三 :使用校驗器
在action所在包 建立action類名-validation.xml
編寫乙個類繼承fieldvalidatorsupport :
public class myagevalidator extends fieldvalidatorsupport {
public void validate(objectobj) throws validationexception {
// 獲得欄位名稱:
string name =this.getfieldname();
// 獲得欄位的值:
object value = this.getfieldvalue(name, obj);
if(value instanceofinteger){
int age = (integer)value;
if(age < 0){
this.addfielderror(name,obj);
*註冊校驗規則:
* 在src下建立乙個validators.xml
* 引入乙個dtd:
* xwork-core-2.3.7.jar下的xwork-validator-config-1.0.dtd
* 配置:
"">
aaa" class="cn.***x.action.demo6.myagevalidator">
* 使用校驗規則:
aaa">
年齡不能為負數!
****
實際開發中很少用到自定義校驗器
Struts2請求處理流程
1.1 struts2請求處理 1.乙個請求在struts2框架中的處理步驟 a 客戶端初始化乙個指向servlet容器的請求 b 根據web.xml配置,請求首先經過actioncontextcleanup過濾器,其為可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助 sitemes...
Struts2之action接收請求引數
1.採用基本型別接受請求引數 get post action public class getparamaction extends actionsupport public void setname string name public int getage public void setage ...
Struts2請求流程
1 客戶端傳送請求 2 請求先通過actioncontextcleanup filterdispatcher 6 actionproxy建立乙個actioninvocation的例項 7 actioninvocation呼叫真正的action,當然這涉及到相關 的呼叫 8 action執行完畢,ac...