Struts2 手动验证
2015-01-07 17:04
113 查看
* 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法
* 要继承ActionSupport类或者实现Validateable接口
* 重写Validateable接口的validate()方法
* 前提是:要保证setUsername()、validate()、login()方法要按照这个先后顺序执行
* 如果登录失败,如何处理:
* this.addFieldError( key, value);
* key:错误提示字段
* value:错误提示信息
* 什么时候才是验证通过?
* 验证通过:1、map集合不存在;2、map集合存在并为空
* 验证不通过:map集合存在并且不为空
* 分析需求:
* 用户名不能为null ,""
* 密码不能为null, "" ,并且密码的长度6-12之间
* 针对所有业务方法进行验证还是针对某个指定业务方法进行验证?
* 重写的validate()方法,针对所有业务方法进行验证
* 重写的validate()方法加上要验证的指定的业务方法名(业务方法名的首字母大写),实现针对某个指定的业务方法进行验证
* 为什么要这样进行拼接?因为struts2框架底层拼接,如果不这样写,底层就找不到对应方法名
* 要继承ActionSupport类或者实现Validateable接口
* 重写Validateable接口的validate()方法
* 前提是:要保证setUsername()、validate()、login()方法要按照这个先后顺序执行
* 如果登录失败,如何处理:
* this.addFieldError( key, value);
* key:错误提示字段
* value:错误提示信息
* 什么时候才是验证通过?
* 验证通过:1、map集合不存在;2、map集合存在并为空
* 验证不通过:map集合存在并且不为空
* 分析需求:
* 用户名不能为null ,""
* 密码不能为null, "" ,并且密码的长度6-12之间
* 针对所有业务方法进行验证还是针对某个指定业务方法进行验证?
* 重写的validate()方法,针对所有业务方法进行验证
* 重写的validate()方法加上要验证的指定的业务方法名(业务方法名的首字母大写),实现针对某个指定的业务方法进行验证
* 为什么要这样进行拼接?因为struts2框架底层拼接,如果不这样写,底层就找不到对应方法名
index.jsp <s:fielderror></s:fielderror> <s:form name="loginForm" namespace="/validate" action="ValidateAction_login.action" method="post"> 用户名:<s:textfield name="username"/><br/> 密码:<s:password name="pwd"/><br/> <s:submit value="登录"/> </s:form> <a href="${pageContext.request.contextPath}/validate/ValidateAction_test.action">test</a>
@SuppressWarnings("serial") public class ValidateAction extends ActionSupport { private String username; private String pwd; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } //只验证Login 业务,不验证test,如果全部验证,把方法名携写作validate() public void validateLogin() { if(username==null || username.equals("")) { this.addFieldError("error", "用户名不能为空");//key:错误标示;value:错误提示 } if(pwd==null || pwd.equals("")) { this.addFieldError("error", "密码不能为空"); }else { String pattern="^[0-9a-zA-Z]{6,12}$"; Pattern p=Pattern.compile(pattern); Matcher m=p.matcher(pwd); boolean b=m.matches(); if(!b){ this.addFieldError("error", "密码格式错误"); } } } public String login(){ System.err.println("1234567890-"); return "success"; } public String test(){ System.err.println("987654321"); return "success"; } }
相关文章推荐
- struts2 手动验证和框架验证
- Struts2手动验证
- struts2中的手动验证
- Struts2手动进行表单验证(九)
- struts2中的自动、手动验证框架
- struts2 validate手动验证
- struts2第十四讲学习笔记,手动验证与框架验证
- Struts2的手动验证
- 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
- struts2验证框架后台验证用户注册
- Struts2教程4:使用validate方法验证数据
- struts2基于ajax的验证用户名是否被注册示例
- struts2学习(12)struts2验证框架2.自定义验证
- AJAX学习之序列二:struts2 jquery json 实现AJAX 注册ID验证
- struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)
- struts2中的验证validate()流程
- Struts2表单验证、模型驱动、防重复提交、数据回显笔记整理
- Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程
- 关于struts2验证框架,在与spring整合后重复输出错误信息的问题
- Ajax+Struts2实现验证码验证功能