struts2中对数据进行校验---手工校验

案例:例如,我们需要对form表单提交的数据进行校验,那么在strus2中是如何做到这点的呢?

首先:我们要创建一个Action类,让他继承ActionSupport,然后我们重写他的validate()方法!这个方法用户检验数据的合法性

例如:我们现在创建一个Aciotn,该Action用于校验用户提交的用户名和手机号.

public void validate() {
		//validate会对action中所有的方法进行校验
		if(username==null||"".equals(username.trim())){
			this.addFieldError("username", "用户名不能为空");
		}
		if(mobile==null||"".equals(mobile.trim())){
			this.addFieldError("mobile", "手机号不能为空");
		}else{
			if(!Pattern.compile("^1[358]\\d{9}$").matcher(mobile).matches()){  //使用正则表达式对手机进行校验
				this.addFieldError("mobile", "手机号格式不正确");
			}
		}
	}
上面有一个addFieldError()这个方法是添加错误信息,到时候用来显示到jsp中给用户提示!

当有错误信息返回的时候,该Action会返回到input视图中,所以我们需要在配置文件中定义一个input视图

<result name="input">/form.jsp</result>
该input视图最后返回到form表单中,给用户友好提示!

最后,如果在jsp中显示错误信息给用户看呢?很简单!只需要加入标签

<%@taglib uri="/strurs-tags" prefix="s" %>

然后利用标签的<s:fieldrror>将错误信息显示给用户。

但是!!!实际开发过程中,我们往往只需要对action中的某一个方法进行校验,那么怎么做呢?非常简单!!

例如,我们有一个方法叫做excute,那么我们在重写validate方法的时候,只需要把方法名改为validateExcute(),即:把需要校验的方法名卸载后面,但是记得,第一个字母是大写。又例如,我们有另一个方法叫做:updata(),我们需要对这个方法进行校验,一样,把validate()方法名改为:validateUpdata()!其他的都不需要改变

搞定!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值