1. 自定義方法調(diào)用介紹
struts2在輸入校驗(yàn)完之后栖茉,如果檢測到Action以及Field級(jí)別中沒有錯(cuò)誤的話,就會(huì)去調(diào)用execute方法滔吠,這里的execute方法我們可以自定義
實(shí)現(xiàn)步驟:
- 在對(duì)應(yīng)的Action類中添加自定義方法秃流,如下圖所示:
- 在struts.xml中對(duì)action元素添加method屬性,并指定對(duì)應(yīng)的Action中的自定義方法名茄菊,如下圖所示:
這樣疯潭,流程就會(huì)轉(zhuǎn)向我們自定義的方法myExecute,而不會(huì)再轉(zhuǎn)向execute方法
2. 自定義輸入校驗(yàn)方法介紹
既然struts2允許我們自定義方法面殖,那么意味著一個(gè)Action可以處理多種邏輯竖哩,例如:在一個(gè)Action中定義update()、delete()脊僚、query()相叁,并在struts2的配置文件中用method來區(qū)分,對(duì)于這種情況辽幌,我們就需要多種validate方法增淹,struts2也想到了這一點(diǎn),實(shí)現(xiàn)的方式也非常簡單:
假如我們的自定義方法是myExecute乌企,那么我們的自定義校驗(yàn)方法名要設(shè)置如下:
這樣struts2的流程走向是:類型轉(zhuǎn)換 -> 自定義的校驗(yàn)方法 -> validate最終校驗(yàn)方法 -> 自定義方法
3. 自定義輸入校驗(yàn)方法與validate關(guān)系
在配置了自定義方法的情況下虑润,如果有設(shè)置對(duì)應(yīng)的自定義校驗(yàn)方法那么就會(huì)先去執(zhí)行自定義校驗(yàn)方法,再去執(zhí)行validate最終校驗(yàn)方法加酵,相當(dāng)于有兩層防線拳喻,執(zhí)行完validate方法后如果發(fā)現(xiàn)存在Action或Field級(jí)別錯(cuò)誤那么就轉(zhuǎn)向input視圖
4. 自定義方法調(diào)用缺點(diǎn)
多個(gè)邏輯寫在一個(gè)Action中,會(huì)導(dǎo)致一個(gè)Action中出現(xiàn)很多屬性猪腕,導(dǎo)致代碼混亂冗澈,所以推薦使用一個(gè)Action一個(gè)execute方法的形式
5. 內(nèi)容引用來源
<<張龍J2EE視頻>>