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

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

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

    周游世界

    喂馬, 劈柴, 周游世界

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      28 隨筆 :: 0 文章 :: 4 評論 :: 0 Trackbacks
    簡要描述
    Struts采用Validator框架(Validator框架現在是Jakarta Commons項目的一部分)來解決校驗問題,它將校驗規則代碼集中到外部的且對具體的應用程序中立的.xml文件中,這樣,就將那些到處出現的校驗邏輯從應用程序中分離出來,任何一個Struts應用都可以使用這個文件,同時還為校驗規則的擴展提供了便利。更難能可貴的是由于Validator框架將校驗中要用到的一些消息等信息與資源綁定有機結合在一起,使得校驗部分的國際化編程變得十分的便捷和自然。

    主要構成
    Validator框架大致有如下幾個主要組件:
    ? * 校驗類:
    ??? 是Validator框架調用的一些Java類,它處理那些基本的通用的校驗,包括required、mask(匹配正則表達式)、最小長度、最大長度、范圍、日期等。校驗類可以根據需要擴展。
    ? * 配置文件:
    ??? 主要包括兩個配置文件,一個是validator-rules.xml,主要包含一些通用的校驗規則,另一個是validation.xml,包含需要校驗的一些form及其組件的集合。
    ? * 資源綁定:
    ??? 提供國際化標簽和消息,缺省使用struts的資源綁定。即校驗所用到的一些標簽與消息都寫在ApplicationResources.properities文件中。
    ? * Jsp 標簽:
    ??? 為給定的form或者action path生成前端校驗的 JavaScript 代碼。
    ? * ValidatorForm:
    ??? 是ActionForm的一個子類。

    校驗框架的使用
    1) 配置
    在struts-config.xml文件中,最底下添加一組插件:
     <plug-in? className="org.apache.struts.validator.ValidatorPlugIn">
    ?? ??? ?<set-property? property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    ?? ?</plug-in>
    從struts的例子,拷貝文件 validator-rules.xml 和 validation.xml ,放到目錄 /WEB-INF 下面

    2) 校驗定義
    在validation.xml文件中定義校驗的表單和屬性。
    例子:
    ? <form? name="customerForm">
    ?? ??? ?<field? property="name"? depends="required">
    ?? ??? ??? ?<arg0? key="customerForm.name"/>
    ?? ??? ?</field>
    ?? ??? ?<field? property="address"? depends="required">
    ?? ??? ??? ?<arg0? key="customerForm.address"/>
    ?? ??? ?</field>
    ?? ?</form>
    其中,表單名稱customerForm必須在struts-config.xml中定義。
    property為表單的屬性。
    depends為校驗規則的名稱。validator_rules.xml中缺省定義的校驗規則請參考struts的文檔。
    ?? ?<arg0? key="customerForm.name"/>指定校驗規則中使用的消息在消息資源文件中的key值

    3) 表單類繼承
    為了使服務器邊的驗證能夠進行,將用到的formBean從ActionForm的子類改為ValidatorForm的子類,如:
    ?? ?public class BaseForm extends ValidatorForm implements Serializable

    4) 客戶端校驗
    要實現客戶端校驗,必須在提交的時候運行校驗框架生成的javascript代碼。
    在<html:form>標簽中,添加屬性 onsubmit="return validateCustomerForm(this)"
    在標簽后加上:
    ?? ?<html:javascript formName="customerForm"? cdata="false"
    ?? ??????? dynamicJavascript="true" staticJavascript="false"/>
    ?? ?<script type="text/javascript"
    ?? ??????? src="<c:url? value="/scripts/validator.jsp"/>"></script>
    ????? ?
    5) Action指定校驗

    在action的配置中加上指定校驗的屬性:validate="true",如:
     <action path="/customer/customer" ?
    ????????? type="com.demo.order.actions.CustomerAction" ?
    ????????? name="customerForm" ?
    ????????? parameter="method" ?
    ????????? input="add"
    ????????? unknown="false"
    ????????? validate="true">
    ??? <forward? name="view" path="model.customer.view">
    ??? </forward>
    ??? <forward? name="add" path="model.customer.add">
    ??? </forward>
    ??? <forward? name="list" path="model.customer.list">
    ??? </forward>
    ? </action>
    posted on 2006-06-28 10:32 周游世界 閱讀(207) 評論(0)  編輯  收藏 所屬分類: Struts

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 精品国产麻豆免费人成网站| 亚洲高清专区日韩精品| 最近高清中文字幕免费| 国产成人1024精品免费| 亚洲熟妇无码一区二区三区导航| 久久久久亚洲精品日久生情 | 99久久亚洲综合精品成人网| www.亚洲色图.com| 日本牲交大片免费观看| 在线看片韩国免费人成视频| 精品视频一区二区三区免费| gogo免费在线观看| 免费精品国产自产拍在线观看| 亚洲日本VA午夜在线影院| 亚洲国产成人超福利久久精品| 夜夜亚洲天天久久| 亚洲AV无码专区电影在线观看| 亚洲午夜福利精品久久| 亚洲av高清在线观看一区二区| 色视频色露露永久免费观看 | 亚洲欧美一区二区三区日产| 亚洲国产成+人+综合| 亚洲综合激情九月婷婷| 亚洲人成在线播放网站岛国| 亚洲av永久无码精品国产精品| 亚洲另类激情综合偷自拍图| 亚洲人成精品久久久久| 亚洲五月综合缴情在线观看| 中文字幕亚洲乱码熟女一区二区| 亚洲国产婷婷综合在线精品| 亚洲精品一级无码鲁丝片| 亚洲日韩涩涩成人午夜私人影院| 亚洲国产精品毛片av不卡在线| 亚洲一级Av无码毛片久久精品| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产亚洲精品无码专区| 亚洲人成色77777在线观看大| 国产乱辈通伦影片在线播放亚洲| 久久久久亚洲av成人无码电影 | 亚洲乱码在线视频| 亚洲jjzzjjzz在线播放|