<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 框架正在學習中
    主站蜘蛛池模板: 亚洲黄色网址大全| 青青草原亚洲视频| 亚洲AV一二三区成人影片| 91大神免费观看| 亚洲一区免费观看| 亚洲AV无码码潮喷在线观看| 香蕉国产在线观看免费| 亚洲乱码中文字幕综合234 | 亚洲午夜无码久久久久| 一级毛片**免费看试看20分钟| 亚洲精品无码AV中文字幕电影网站 | 免费看无码特级毛片| 亚洲第一AV网站| 最近中文字幕免费mv在线视频| 亚洲白色白色永久观看| 免费电影在线观看网站| 亚洲AV无码AV吞精久久| 亚洲AV中文无码乱人伦| 99久久免费国产精品热| 亚洲精彩视频在线观看| 成人免费无码大片A毛片抽搐| 久久精品亚洲日本波多野结衣| 亚洲AV无码一区二三区| 中国性猛交xxxxx免费看| 色婷婷亚洲十月十月色天| 成年男女免费视频网站| 国产精品亚洲色图| 国产成人亚洲综合无码精品| 国产成人免费在线| 国产亚洲一卡2卡3卡4卡新区 | 男女免费观看在线爽爽爽视频| 亚洲综合av永久无码精品一区二区| 国产日韩AV免费无码一区二区 | 亚洲av高清在线观看一区二区| 一区在线免费观看| 亚洲毛片免费视频| 国产精品色午夜视频免费看| 日本免费在线中文字幕| 亚洲性无码一区二区三区| 亚洲精品成人片在线播放 | 久久久久久久久亚洲 |