孫昊的Java專區(qū)

          Java專區(qū)
          隨筆 - 1, 文章 - 4, 評論 - 1, 引用 - 0
          數(shù)據(jù)加載中……

          Struts2_Action方法的校驗

          1、輸入校檢struts2提供了兩種實現(xiàn)方法:(校驗action中的所有方法或者指定方法)
          ?? a、采用手工編寫代碼實現(xiàn)
          ?? b、基于XML配置方式實現(xiàn)
          2、具體實現(xiàn):
          ?? a、繼承ActionSupport,重寫它的validate()方法(對所有方法進(jìn)行校驗)
          ????? 注意要學(xué)習(xí)正則表達(dá)式
          ????? 正則表達(dá)式:"^1[358]\\d{9}$"
          ????? ^:表示要檢測的字符串開頭
          ????? 1:表示字符串的第一個字符必須是1
          ????? [358]:表示字符串的第二個字符必須在358三個數(shù)字中的一個
          ?????1、輸入校檢struts2提供了兩種實現(xiàn)方法:(校驗action中的所有方法或者指定方法)
          ?? a、采用手工編寫代碼實現(xiàn)
          ?? b、基于XML配置方式實現(xiàn)
          2、具體實現(xiàn):
          ?? a、繼承ActionSupport,重寫它的validate()方法(對所有方法進(jìn)行校驗)
          ????? 注意要學(xué)習(xí)正則表達(dá)式
          ????? 正則表達(dá)式:"^1[358]\\d{9}$"
          ????? ^:表示要檢測的字符串開頭
          ????? 1:表示字符串的第一個字符必須是1
          ????? [358]:表示字符串的第二個字符必須在358三個數(shù)字中的一個
          ????? \\d:表示 數(shù)字[0-9]中的一個
          ????? {9}:表示后面有9位數(shù)字
          ????? $:表示字符串的最后一位
          3、對指定方法進(jìn)行校驗:
          ?? 只需把上面的校驗方法名改為validateXxx()即可,其中Xxx為要校驗的方法名,首字母大寫
          ?? 如:要校驗update()方法,即改為validateUpdate()
          4、基于XML配置方式實現(xiàn):
          ?? 在要校驗的方法所在類所在的包下,名字為ActionName-validation.xml,其中ActionName為Action的名字,后面-validation.xml是固定寫法
          ?? ValidateAction-validation.xml如下:
          ??
          ?1?<?xml?version="1.0"?encoding="UTF-8"?>
          ?2??<!DOCTYPE?validators?PUBLIC?"-//OpenSymphony?Group//XWork?Validator?1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
          ?3??<validators>
          ?4??????<field?name="username">
          ?5???<field-validator?type="requiredstring">
          ?6???????<param?name="trim">true</param>
          ?7???????<message>用戶名不能為空!</message>
          ?8???</field-validator>
          ?9??????</field>
          10??????<field?name="telno">
          11???<field-validator?type="requiredstring">
          12???????<message>手機(jī)號不能為空!</message>
          13???</field-validator>
          14???<field-validator?type="regex">
          15?????????<param?name="expression"><![CDATA[^1[358]\d{9}$]]></param>
          16?????????<message>手機(jī)號格式不正確!</message>
          17????</field-validator>
          18??????</field>
          19??</validators>
          5、只需修改XML文件的名稱,改為ActionClassName-ActionName-validation.xml,其他都不用動
          ?? 如上例中:改為ValidateAction-validate_update-validation.xml,只對ValidateAction中的update方法校驗

          posted on 2011-12-01 23:46 孫昊 閱讀(356) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 遵义市| 台前县| 杂多县| 西乌| 南阳市| 雅安市| 奉贤区| 临澧县| 绥宁县| 霞浦县| 桂平市| 惠来县| 磐安县| 张家口市| 本溪市| 轮台县| 威信县| 海口市| 黄浦区| 岚皋县| 靖安县| 昌宁县| 五河县| 玉龙| 东阳市| 雷山县| 桃园市| 定远县| 五指山市| 甘孜| 准格尔旗| 利川市| 克拉玛依市| 莒南县| 汝州市| 将乐县| 晋城| 延庆县| 竹北市| 阿坝县| 阜南县|