用ActionSupport实现验证

Posted Angelinas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ActionSupport实现验证相关的知识,希望对你有一定的参考价值。

第一种:

只要Action类继承了ActionSupport,就可以用验证方案了

是个原始的方案,需要自己写代码,但是很灵活,登陆案例

不足:业务处理和验证的代码混在一起,不方便验证部分的复用和维护

@Override
	public String execute() throws Exception {
	
		
		User user=userService.getUser(loginName);
		if(user==null){
			addFieldError("loginName",getText("invalid.loginname"));//对应<s:fielderror/> // 显示与字段相关的错误信息

//addActionError 对应<s:actionerror/> 显示action的所有信息 <s:fielderror fieldName="loginName"/> 明白了吧loginName是这么来的 return INPUT;//表示需要重新输入 } else if(!user.getPassword().equals(password)){ addFieldError("password",getText("invalid.password")); return INPUT; } else{ sessionMap.put("user",user); return SUCCESS; } }

 第二种:

重写validate()方法

业务和数据分离

不足:在业务方法之前被调用,当validate()方法验证不通过,那么action类的验证方法也不会被执行,也就是说validate()也管action所有验证,如果想对单个业务方法验证就不行了

第三种:

vlidateXxx()验证

Xxx()是写的要针对的具体的某个方法

 

以上是关于用ActionSupport实现验证的主要内容,如果未能解决你的问题,请参考以下文章

struts2_validate表单验证

struts2中的Action接口和Actionsupport接口各有啥作用

action继承actionSupport

数据校验

数据校验

数据校验和国际化