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

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

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

    posts - 36, comments - 30, trackbacks - 0, articles - 3
    這節(jié)介紹如何在SSH框架中使用Validator框架,Validator框架采用基于xml文件來(lái)配置驗(yàn)證規(guī)則,它主要依賴兩個(gè)jar包:commons-validator-1.3.0.jar和oro-2.0.8.jar,要在SSH使用Validator框架,必須把這兩個(gè)jar包引用進(jìn)來(lái),其實(shí)Struts框架已包含這兩個(gè)jar包,所以我們不用再單獨(dú)引入了。
           要在SSH框架中使用Validator,更確切的說是在Struts框架中使用,可以采用插件機(jī)制把Validator加入到框架,這需要修改原來(lái)的struts-config.xml文件,增加配置ValidatorPlugIn插件,代碼如下:
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,
    /WEB-INF/validation.xml"
     />
          
    <set-property property="stopOnFirstError" value="true" />
     
    </plug-in>
    這樣當(dāng)應(yīng)用啟動(dòng)時(shí),Struts框架就會(huì)加載ValidatorPlugIn插件。
    validator-rules.xml文件是Validator框架自帶的,它定義了一些常有的校驗(yàn)規(guī)則,而validation.xml是我們自己定義的,它針對(duì)某個(gè)應(yīng)用,內(nèi)容如下:
        
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE form-validation PUBLIC
              "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
              "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"
    >
    <form-validation>   
     
    <formset> 
        
    <form name="registerForm">
          
    <field property="register.username" depends="required">      
            
    <arg key="register.username" position="0"/>      
          
    </field> 
          
    <field property="register.password" depends="required,minlength">      
            
    <arg key="register.password" position="0"/>
            
    <arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
             
    <var>
              
    <var-name>minlength</var-name>
              
    <var-value>6</var-value>
            
    </var>     
          
    </field>
          
    <field property="register.email" depends="required,email">      
            
    <arg key="register.email" position="0"/>      
          
    </field>       
        
    </form>   
     
    </formset>
    </form-validation>

     

    form元素的name屬性指定要進(jìn)行驗(yàn)證的表單,field元素的property屬性指定要驗(yàn)證屬性,depends定義了驗(yàn)證方式,在這里,我們定義了username屬性不能為空,password屬性不能為空,并且最小長(zhǎng)度不能小于6,email屬性必須是合法的郵件地址。定義驗(yàn)證方式之后,我們還必須修改資源文件registermessages.properties,增加以下內(nèi)容:

    # Errors
    errors.header=
    <h3><fontcolor="red">ValidationError</font></h3>Youmustcorrectthefollowingerror(s)beforeproceeding:
    errors.required={0}isrequired.
    errors.minlength={0}cannotbelessthan{1}characters.
    errors.email={0}isaninvalide-mailaddress.
    這資源文件中{0}對(duì)應(yīng)著<arg key="" position="0"/>,{1}對(duì)應(yīng)著<arg key="" position="1"/>,以此類推,如果有驗(yàn)證錯(cuò)誤產(chǎn)生,將用key的值替換{n}
     
    此外,我們還要修改struts-config.xml文件,修改內(nèi)容見粗體:

    //把原來(lái)的DynaActionForm 改為DynaValidatorForm
    <form-beans>
           
    <form-bean name="registerForm"
               type
    ="org.apache.struts.validator.DynaValidatorForm">
               
    <form-property name="register" type="test.register.entity.Register" />        
           
    </form-bean>
        
    </form-beans>
    //把原來(lái)的validate="false"改為validate="true"
    <action-mappings>
           
    <action name="registerForm" path="/register" scope="request"
               type
    ="test.register.action.RegisterAction" validate="true"
               input
    ="/register.jsp">
               
    <forward name="success" path="/registerSuccess.jsp" />
           
    </action>
        
    </action-mappings>

    修改錯(cuò)誤顯示的樣式,我們?cè)趓egister.jsp中,替換原來(lái)<html/errors>為
    <logic:messagesPresent>
       
    <bean:message key="errors.header"/>
       
    <ul>
       
    <html:messages id="error">
          
    <li><bean:write name="error"/></li>
       
    </html:messages>
       
    </ul><hr />
    </logic:messagesPresent>

    注意在頁(yè)面上加入
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

    這樣,我們運(yùn)行程序,校驗(yàn)失敗的效果如圖:

    Feedback

    # re: Struts,Spring,Hibernate Web應(yīng)用開發(fā)4  回復(fù)  更多評(píng)論   

    2008-01-19 08:53 by Lf0x
    不錯(cuò),支持一下先 ,SSH 框架正在學(xué)習(xí)中
    主站蜘蛛池模板: 大学生一级特黄的免费大片视频| 亚洲电影日韩精品 | 亚洲精品无码久久久| 丁香花在线视频观看免费| 亚洲一区二区三区久久久久| 国产女高清在线看免费观看| 久久精品成人免费网站| 亚洲爆乳大丰满无码专区| 亚洲人成精品久久久久| 美女视频黄a视频全免费| 在线播放免费人成视频网站| 亚洲成a人片在线观看中文app| 免费一级黄色毛片| 美女内射毛片在线看免费人动物| 久久久久亚洲国产AV麻豆| 亚洲AV第一页国产精品| 国产一区视频在线免费观看 | 久久精品中文字幕免费| 国产精品亚洲专区无码WEB| 亚洲成人中文字幕| 免费一区二区视频| 国产高清不卡免费在线| 国内精品免费久久影院| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲AV日韩AV永久无码免下载| 又黄又大又爽免费视频| 免费观看激色视频网站bd| 波多野结衣免费一区视频| 国产成人亚洲精品电影| 亚洲精品123区在线观看| 亚洲精品视频在线| 国产亚洲美女精品久久久久狼 | 四虎亚洲精品高清在线观看| 久久久久亚洲AV无码专区首| 免费国产小视频在线观看| 97在线线免费观看视频在线观看| 日韩免费在线观看视频| yellow免费网站| 国产成人高清亚洲一区久久| 亚洲熟妇无码八V在线播放| 亚洲剧情在线观看|