struts2对数据校验---基于xml配置文件

第一步:

让你写的Action类继承ActionSupport

public class ActionParam extendsActionSupport

第二步:

在这个Action下面创建一个xml文件:文件名:ActionClassName-validation.xml  ;(在这里ActionName就是指ActionParam,后面valiedation.xml 固定写法)

第三步:

在这个xml文件中,我们校验数据,例如我们需要对用户名和手机号进行校验:

<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC"-//Apache Struts//XWork Validator 1.0.3//EN" "
http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> 
<validators>
     <field name="username">  //这里是指需要被校验的属性名
     <field-validatortype="requiredstring">  //这里指具体校验用到的方法,这是系统提供的
       <paramname="trim">true</param> //这里除去空格
       <message>用户名不能为空!</message>//如果校验失败,返回校验失败的原因
     </field-validator>
 </field>
 <field name="mobile">
      <field-validatortype="requiredstring">
         <paramname="trim">true</param>
         <message>手机号不能为空!</message>
      </field-validator>
      <field-validatortype="regex">
          <paramname="expression"><![CDATA[^1[358]\d{9}$]]></param>  //正则表达式写法,加![CDATA[]]是为了防止和xml文件中的一些关键词冲突
          <message>手机格式不正确</message>
      </field-validator>
 </field>
</validators>


第四步:

如果校验失败,系统会自动将失败的原因返回到input视图中,所有我们要配置好input视图,用来将错误信息提供给用户

如果校验成功,则转到提示页面。

 <actionname="a1_*" class="cn.itcast.action.ActionParam"method="{1}">
        <resultname="input">/index.jsp</result>
        <resultname="success">/WEB-INF/page/Message.jsp</result>
 </action>

第五步:

在input视图中指定的jsp文件,我们添加标签,用来返回错误信息给用户

<%@ tagliburi="/struts-tags" prefix="s"%>
<s:fielderror/>

结束!

实际开发中,如果我们只需要对action中的某一个方法进行校验,那么我们该怎么做呢?

很简单,我们只要改一下配置文件的名字即可:例如在本例中,我们需要对ActionParam中的excute方法进行校验

那么,我们只要改一下配置文件的名字即可,即:ActionClassName-actionname-validation.xml, 

在本例中就是ActionParam-a1_excute-validation.xml

a1_excute哪里来的呢?我们可以看上面的

 <actionname="a1_*" class="cn.itcast.action.ActionParam"method="{1}">
       <result name="input">/index.jsp</result>
       <result name="success">/WEB-INF/page/Message.jsp</result>
 </action>


我们就可以发现了actionname就是a1_*,所以actioname就是a1_excute.(如果看不懂,可以看一下我的博文,通配符  *   的作用 )

搞定!

 

 

------------------------------------------------------------------------------------------------苦难不是博得同情那个的资本,只有不断的奋斗才能改变命运!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值