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

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

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

    struts表單校驗

    Posted on 2006-03-17 11:41 Computerboy 閱讀(238) 評論(0)  編輯  收藏 所屬分類: 編程技術

    簡要描述

    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.xmlvalidation.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>

    posts - 40, comments - 39, trackbacks - 0, articles - 0

    Copyright © Computerboy

    主站蜘蛛池模板: 999国内精品永久免费视频| 91香焦国产线观看看免费| 好爽…又高潮了毛片免费看| 久久亚洲AV无码精品色午夜 | 免费被黄网站在观看| 日韩亚洲国产高清免费视频| 97在线观看永久免费视频| 91丁香亚洲综合社区| 国产一卡二卡四卡免费| 亚洲youjizz| 成人免费无码视频在线网站| 亚洲国产日韩精品| 国产男女猛烈无遮挡免费视频| 久久精品国产亚洲AV电影网| 亚洲国产小视频精品久久久三级| 亚洲精品视频免费| 亚洲精品视频在线| 全免费毛片在线播放| 亚洲欧美熟妇综合久久久久 | 在线成人a毛片免费播放| 亚洲国产成人AV网站| 亚洲色一色噜一噜噜噜| 久久精品国产这里是免费| 久久久久亚洲AV无码观看| 在线jyzzjyzz免费视频| 日本一区二区三区在线视频观看免费| 亚洲午夜福利717| 免费A级毛片av无码| 亚洲精品无码你懂的| 中文亚洲AV片不卡在线观看| 日韩精品人妻系列无码专区免费 | 永久免费av无码网站韩国毛片| 亚洲午夜无码毛片av久久京东热| 亚洲片国产一区一级在线观看 | 一边摸一边爽一边叫床免费视频| 亚洲成av人片天堂网| 成年美女黄网站色大免费视频| 乱人伦中文视频在线观看免费| 亚洲国产精品久久久久婷婷软件 | 亚洲日本一区二区一本一道| 老汉精品免费AV在线播放|