<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

    Struts,Spring,Hibernate Web應用開發4

    Posted on 2008-01-16 15:21 笑看人生 閱讀(1864) 評論(1)  編輯  收藏 所屬分類: Web開發技術
    這節介紹如何在SSH框架中使用Validator框架,Validator框架采用基于xml文件來配置驗證規則,它主要依賴兩個jar包:commons-validator-1.3.0.jar和oro-2.0.8.jar,要在SSH使用Validator框架,必須把這兩個jar包引用進來,其實Struts框架已包含這兩個jar包,所以我們不用再單獨引入了。
           要在SSH框架中使用Validator,更確切的說是在Struts框架中使用,可以采用插件機制把Validator加入到框架,這需要修改原來的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>
    這樣當應用啟動時,Struts框架就會加載ValidatorPlugIn插件。
    validator-rules.xml文件是Validator框架自帶的,它定義了一些常有的校驗規則,而validation.xml是我們自己定義的,它針對某個應用,內容如下:
        
    <?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屬性指定要進行驗證的表單,field元素的property屬性指定要驗證屬性,depends定義了驗證方式,在這里,我們定義了username屬性不能為空,password屬性不能為空,并且最小長度不能小于6,email屬性必須是合法的郵件地址。定義驗證方式之后,我們還必須修改資源文件registermessages.properties,增加以下內容:

    # 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}對應著<arg key="" position="0"/>,{1}對應著<arg key="" position="1"/>,以此類推,如果有驗證錯誤產生,將用key的值替換{n}
     
    此外,我們還要修改struts-config.xml文件,修改內容見粗體:

    //把原來的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>
    //把原來的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>

    修改錯誤顯示的樣式,我們在register.jsp中,替換原來<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>

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

    這樣,我們運行程序,校驗失敗的效果如圖:

    Feedback

    # re: Struts,Spring,Hibernate Web應用開發4  回復  更多評論   

    2008-01-19 08:53 by Lf0x
    不錯,支持一下先 ,SSH 框架正在學習中
    主站蜘蛛池模板: 毛片A级毛片免费播放| 久久久久成人片免费观看蜜芽| 黄网址在线永久免费观看 | 久久久国产精品无码免费专区| a毛看片免费观看视频| 在线涩涩免费观看国产精品 | 亚洲精品天堂无码中文字幕| 亚洲人成欧美中文字幕| 亚洲中文字幕一二三四区苍井空| 国产色在线|亚洲| 亚洲综合av一区二区三区| 亚洲精品永久在线观看| 老子影院午夜伦不卡亚洲| 亚洲专区先锋影音| 亚洲成a人片在线观看中文app| 亚洲毛片网址在线观看中文字幕| 最近最好最新2019中文字幕免费| 看成年女人免费午夜视频| 深夜A级毛片视频免费| 亚洲自偷自偷在线成人网站传媒| 亚洲av永久无码精品秋霞电影秋| 亚洲人成网站18禁止久久影院| 亚洲日产无码中文字幕| 亚洲av不卡一区二区三区 | 97视频热人人精品免费| 麻豆成人精品国产免费| 亚洲精品黄色视频在线观看免费资源| 国产成人精品久久亚洲| 国产伦精品一区二区三区免费迷| www亚洲精品少妇裸乳一区二区| 免费观看激色视频网站bd| 日韩精品无码免费专区午夜| 久久免费国产视频| 13小箩利洗澡无码视频网站免费| 98精品全国免费观看视频| 最近中文字幕无吗免费高清| avtt亚洲天堂| 久久精品国产亚洲AV麻豆不卡| 国产午夜亚洲精品理论片不卡| 亚洲嫩模在线观看| 亚洲人成网站在线在线观看|