Struts2的输入校验
来源:互联网 发布:odbc导入sql 编辑:程序博客网 时间:2024/05/02 23:59
有哪些校验?
客户端校验:通过JavaScript
服务器端校验:校验代码
正则表达式基础
30分钟正则表达式t教程
Struts2服务器端校验
1、在execute中实现校验
public String execute()throws Exception{//验证用户名if("".equals(user.getUsername())){addFieldError("user.username","用户名不能为空");}else if(!Pattern.matches("\\w{4,15}", user.getUsername())){addFieldError("user.username","用户名必须是数字与字母的组合(长度4-15)");}if(hasActionErrors()){return INPUT;}return SUCCESS;}execute中写校验代码的坏处:一般业务逻辑才放到execute中,会照成业务逻辑代码与校验代码混合了。
2、在validate中实现校验
public void validate(){//验证用户名if("".equals(user.getUsername())){addFieldError("user.username","用户名不能为空");}else if(!Pattern.matches("\\w{4,15}", user.getUsername())){addFieldError("user.username","用户名必须是数字与字母的组合(长度4-15)");} }注意与execute的区别:不需要返回Input,只要有错就会放入错误字段,自动返回INPUT。
在validate中写校验的坏处:不能对不同的方法实现校验,只要请求该Action就会被调用。
3、在validateXxx中实现校验
其中Xxx就是方法的名字。
Action中
public String test1(){return SUCCESS;}public void validateTest1(){if("".equals(user.getAge())){addFieldError("user.age","年龄不能为空");}else if(user.getAge()<0 || user.getAge()>200){addFieldError("user.age","年龄填写错了吧");}}struts.xml
<action name="register" class="cn.guet.hj.action.UserAction" method="test1"><result name="input">/WEB-INF/pages/register.jsp</result><result>/WEB-INF/pages/success.jsp</result></action>
4、Struts的校验框架
以声明的方式实现校验,将校验代码从Action移到xml文件,简化了Action。
Struts的校验框架将一些常用功能(非空字段,date,expression,regex,email……)进行了封装——校验器。(com.opensymphony.xwork2.validator.validators/default.xml)
校验器配置文件UserAction-validation.xml中
<validators> <field name="user.username"> <field-validator type="requiredstring"> <message>用户名不能为空</message> </field-validator> <field-validator type="regex"> <param name="expression"> <![CDATA[(\w{4,15})]]> </param> <message>用户名必须为数字与字母的组合4-15位</message> </field-validator> </field> </validators>
自定义校验器
1、编写校验器类,继承FieldValidatorSupport类,重写validator方法
2、在classpath目录建立validators.xml文件
- Struts2的 输入校验
- Struts2的输入校验
- struts2的输入校验
- Struts2的 输入校验 .
- Struts2的输入校验
- Struts2的输入校验
- Struts2的输入校验
- Struts2的输入校验
- Struts2的Ajax输入校验
- Struts2的Ajax输入校验
- Struts2的输入校验(一)
- Struts2的输入校验(二)
- Struts2输入校验的流程
- struts2的输入校验---笔记
- Struts2的输入校验方式
- Struts2的经典输入校验
- 【JAVA】struts2的输入校验
- Struts2的表单输入校验
- Android的全局键(home键/长按耳机键)详解【android源码解析八】
- RegOpenKeyEx和RegCreateKeyEx函数
- GetDiskFreeSpaceEx函数
- 同步、异步、阻塞和非阻塞的概念
- Class Method
- Struts2的输入校验
- GetDriveType函数
- visual studio 2010 c++ 项目创建失败的解决方案
- 2012年百度实习生招聘——java开发
- 安装了myeclipse后,成功启动它自带的tomcat,然后在IE里面访问localhost:8080却怎么也看不到画面
- CreateIoCompletionPort和GetQueuedCompletionStatus函数
- CreateFileMapping和MapViewOfFile函数
- hdu 1081、poj1050 To The Max 最大子矩阵和
- Bit-map详解