Struts2的方法验证
来源:互联网 发布:pages for windows 编辑:程序博客网 时间:2024/04/30 22:31
struts2可以对anction中所有方法进行校验,也可以对指定方法进行校验,现在我们来说说采用手工编码代码方式来进行校验
1 编写action,重写validate方法,validate会校验所有的方法,当校验出错,把错误信息放到filedError中。
public class PersonAction extends ActionSupport {
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override //校验所有方法
public void validate() {
System.out.println("validate");
if(userName==null||"".equals(userName.trim())){
this.addFieldError("userName" , "用户名不能为空");
}
}
//校验update方法
public void validateUpdate(){
System.out.println("validateUpdate");
if(userName==null||"".equals(userName.trim())){
this.addFieldError("userName" , "用户名不能为空");
}
}
public void update(){
System.out.println("update");
ActionContext.getContext().put("message","update");
}
@Override
public String execute() throws Exception {
System.out.println("execute");
return this.SUCCESS;
}
}
2 当在页面输入用户名,会经过先经过validate方法校验,校验通过才会进入execute方法,记住校验失败把错误信息放入到addFieldError方法中,才不会继续执行下去,validate会校验所有方法。
3 如果要校验部分方法,则校验方法名称就不是validate,而是validateXxx,Xxx是actiion中的方法名.如果两个都有则是先校验部分方法,再校验所有方法。校验失败,struts2就会将请求转发到名为input的result中去。<s:fielderror/>会输出存入的校验失败信息
输入校验流程
1 类型转换器对请求参数执行类型转换,并把转换后的值复制给action属性
2 如果在执行类型转换过程中出现异常,系统将异常信息保存到ActionContext中,拦截器将异常信息添加到filedErrors里,不管类型转换是否出现异常,都进入步骤3
3 调用validateXxx方法,部分方法校验
4 调用 validate方法,全部方法校验
5 经过以上,如果filedErrors存在错误信息,转发input的result,如果没有就执行action中的方法
- Struts2的方法验证
- Struts2 方法验证的XML
- Struts2下的用户权限验证问题解决方法
- struts2的实现登录验证方法一
- struts2用户验证的validate方法
- struts2里指定方法验证
- struts2登录验证方法二
- Struts2——验证方法
- struts2中方法验证的三种形式
- Struts2 validate验证指定方法的三种方式。
- 关于struts2表单重复提交验证的方法
- struts2 通过xml进行特定方法的验证
- Struts2验证错误信息的两个经典方法-addFieldError&addActionError
- struts2基于xml配置文件的用户验证方法
- Struts2验证错误信息的两个经典方法-addFieldError&addActionError
- struts2如何对指定的方法进行验证?
- struts2输入验证--validate()方法验证
- struts2的客户端验证
- Linux下的I2C总线驱动
- Android基本控件和容器之间继承关系概览图
- QuickAction
- 一个基于QT的解析interproscan结果的C++成员函数
- myeclipse 核心快捷键
- Struts2的方法验证
- [bzoj3343]教主的魔法
- git
- (3-3)Hadoop的Linux的IP、网络配置
- 第三周项目1-三角形1
- SliddingMenu
- HDU 1176 免费馅饼
- 有关于hibernate的配置问题(1)
- 第三周项目三 程序的多文件组织