<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    最愛Java

    書山有路勤為徑,學(xué)海無涯苦作舟

    Struts2學(xué)習(xí)筆記——輸入校驗(二)

        對于login方法的校驗,可以通過<ActionClassName>-<ActionAliasName>-validation.xml文件來校驗,即RegistAction-login-validation.xml文件進行校驗。同時,RegistAction-validation.xml的校驗規(guī)則仍舊對login方法有效。即login方法的校驗規(guī)則是Region-validation.xml和RegistAction-login-validation.xml的總和。
        如果RegistAction繼承了BaseAction,那么對于BaseAction類的校驗規(guī)則也會被RegistAction類所繼承校驗。具體來說,其校驗規(guī)則的搜索文件規(guī)則如下:
            BaseAction-validation.xml
            BaseAction-別名-validation.xml
            RegistAction-validation.xml
            RegistAction-別名-validation.xml

        對于Struts2所支持的內(nèi)建校驗器,我們可以通過xwork.2.1.2.jar中的com/opensymphony/xwork2/validator/validators/default.xml文件查看。

        除了配置文件,Struts2也支持Annotation。下面就是使用Annotation配置的RegistAction:

    @Validation()
    public class RegistAction extends ActionSupport {
        private static final long serialVersionUID = -2113900523366315993L;
        
        //該請求包含的4個請求參數(shù)
        private String name;
        private String pass;
        private int age;
        private Date birth;
        
        
        public String getName() {
            return name;
        }
            @RequiredStringValidator(type=ValidatorType.FIELD,key="name.required",message="")
            @RegexFieldValidator(type=ValidatorType.FIELD,expression="\\w{4,25}",key="name.regex",message="")
        public void setName(String name) {
            this.name = name;
        }
        public String getPass() {
            return pass;
        }
            @RequiredStringValidator(type=ValidatorType.FIELD,key="pass.required",message="")
            @RegexFieldValidator(type=ValidatorType.FIELD,expression="\\w{4,25}",key="pass.regex",message="")
        public void setPass(String pass) {
            this.pass = pass;
        }
        public int getAge() {
            return age;
        }
            @IntRangeFieldValidator(message="",key="age.range",min="1",max="150")
        public void setAge(int age) {
            this.age = age;
        }
        public Date getBirth() {
            return birth;
        }
            @DateRangeFieldValidator(message="",key="birth.range",min="1900/01/01",max="2050/01/21")
        public void setBirth(Date birth) {
            this.birth = birth;
        }
    }

         

        對于不能通過內(nèi)置校驗器進行校驗的邏輯,則可通過重寫validate()方法來實現(xiàn)。如果一個Action中存在多個邏輯處理,則需要通過validateXxx()方法來分別進行校驗,其中Xxx代表方法名。如login()方法對應(yīng)的校驗方法為validateLogin()。

        Struts2的輸入校驗流程:

        1。類型轉(zhuǎn)換器負(fù)責(zé)對字符串的請求參數(shù)執(zhí)行類型轉(zhuǎn)換,并將這些值設(shè)置成Action的屬性值。

        2。在執(zhí)行類型轉(zhuǎn)換過程中,如果發(fā)生異常,則將異常保存到ActionContext中,并由conversionError攔截器負(fù)責(zé)將其封裝到fieldError里。然后執(zhí)行第3步;如無異常,直接執(zhí)行第3步。

        3。調(diào)用Struts2內(nèi)置的輸入校驗規(guī)則進行輸入校驗

        4。通過放射調(diào)用validateXxx()方法。

        5。調(diào)用validate()方法。

        6。如果上述都未發(fā)生fieldError,將調(diào)用Action里處理用戶請求的處理方法;如果出現(xiàn)了fieldError,則轉(zhuǎn)入input邏輯視圖所指定的視圖資源。

    posted on 2010-10-24 15:35 Brian 閱讀(482) 評論(1)  編輯  收藏 所屬分類: Struts2

    評論

    # re: Struts2學(xué)習(xí)筆記——輸入校驗(二) 2014-08-04 20:58 caipc

    ValidatorType.FIELD是什么意思呢?  回復(fù)  更多評論   

    公告


    導(dǎo)航

    <2014年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    統(tǒng)計

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av午夜成人片精品网站| 亚洲精品自偷自拍无码| 免费一级特黄特色大片| 久久国产免费福利永久| 日韩精品亚洲aⅴ在线影院| 亚洲高清视频在线| 95免费观看体验区视频| 亚洲精品高清在线| 亚洲熟妇AV日韩熟妇在线| 97公开免费视频| 亚洲最大AV网站在线观看| 亚洲啪AV永久无码精品放毛片| 亚洲免费视频在线观看| 亚洲熟伦熟女新五十路熟妇| 亚洲精品日韩一区二区小说| 最近中文字幕国语免费完整| 国产亚洲大尺度无码无码专线| 亚洲成a人无码亚洲成www牛牛| 2021在线永久免费视频| 亚洲AV永久纯肉无码精品动漫| caoporm碰最新免费公开视频| 黄网址在线永久免费观看 | 日韩精品无码免费视频| 成人毛片18岁女人毛片免费看| 亚洲色图黄色小说| 免费在线中文日本| 亚洲精品乱码久久久久久蜜桃不卡| 瑟瑟网站免费网站入口| 精品久久洲久久久久护士免费| 亚洲一卡二卡三卡| 四虎成年永久免费网站| 亚洲国产美女精品久久| 在线美女免费观看网站h| 亚洲AV无码成人精品区蜜桃| 国产在线精品一区免费香蕉| 亚洲中文字幕日产乱码高清app| 有色视频在线观看免费高清在线直播 | 国产桃色在线成免费视频 | 四虎最新永久免费视频| 亚洲自偷精品视频自拍| 91免费在线播放|