Struts2-数据验证
来源:互联网 发布:如何查看已占用的端口 编辑:程序博客网 时间:2024/05/17 05:06
验证方式
1.客户端验证:就是使用JavaScript进行数据验证
2.服务器端验证:逻辑验证
注意:为确保安全,一定要进行服务器端验证,日常开发一般客户端+服务器端验证一起使用。
Struts2的服务器端验证
1.编程式验证
必须满足的条件:
a、动作类必须继承ActionSupport
b、在代码中编写验证规则
(1)、针对动作类中的所有动作方法进行验证:
先创建动作类继承ActionSupport,在动作类中覆盖public void validate()方法。
在validate()方法中编写具体的验证规则
问题:此种方法会对所有的动作方法进行验证,即使该动作类不需要进行数据验证,容易产生异常
解决方法1:
给不需要验证的动作方法添加一个@SkipValidation注解。
解决方法2:
遵守书写规范。
给需要验证的方法名前加上validate,方法首字母大写,例如:要给public String register(){ }方法进行数据验证,public String validateRegister(){ }
编程式验证的弊端:硬编码。
2.声明式验证
通过编写验证规则的xml文件。需要验证时,编写xml文件,不要验证,就不写。
优势:解决了编程式验证的弊端
a、针对动作类中的所有动作进行验证:在动作类所在的包中,建立一个ActionClassName-validation.xml的文件此种方式针对的是动作类中的所有动作方法
b、针对动作类中的某个动作进行验证:在动作类所在的包中建立一个xml文件,名称为ActionClassName-ActionName-validation.xml。
<!-- 当使用ActionClassName-validation.xml来命名文件时,它是一个动作类验证器。会验证动作类中的所有动作方法 --><validators><!-- 基于字段的声明式验证 --><!-- field中name属性指定的是表单name属性的取值 --><field name="username"><!-- struts2框架为我们集成了很多的内置验证器。requiredstring会验证输入内容是否为空,是否为空字符串。并且去掉左右空格--><field-validator type="requiredstring"><message>用户名呢</message></field-validator></field></validators>
3.Struts2内置的常用声明式验证器
内置验证器的位置在xwork-core-2.3.15.3.jar\com\opensymphony\xwork2\validator\validator\default.xml中
<validators><!-- 基于字段的声明式验证 --><!-- field中name属性指定的是表单name属性的取值 --><field name="username"><!-- struts2框架为我们集成了很多的内置验证器。requiredstring会验证输入内容是否为空,是否为空字符串。并且去掉左右空格--><field-validator type="requiredstring"><message>用户名必须存在</message></field-validator></field><!-- 基于验证器的验证 --><validator type="requiredstring"><!-- 以注入的方式,提供要验证的字段信息 setFieldName("password");--><param name="fieldName">password</param><message>密码必须输入</message></validator></validators>
验证器案例:
阅读全文
0 0
- struts2简单数据验证
- struts2之数据验证
- struts2简单数据验证
- Struts2 简单数据验证
- struts2 简单数据验证
- Struts2表单数据验证
- Struts2数据验证机制
- struts2数据验证机制
- Struts2的数据验证
- Struts2数据验证机制
- struts2 简单数据验证
- struts2表单数据验证
- Struts2-数据验证
- struts2中的数据验证
- Struts2类型转换,数据验证
- Struts2数据类型转换,数据验证
- Struts2 简单的数据验证
- Struts2的表单数据验证
- python --- 处理很长的判断语句,多重赋值,联合删除
- Oracle用户和权限
- 二步实现 远程连接 阿里云SqlServer 2012 数据库服务器
- C语言实现的ABCI
- CodeForces
- Struts2-数据验证
- 51Nod 1012 最小公倍数LCM
- 在eclipse中安装jad
- BZOJ-2301-莫比乌斯
- opencv基础之测试质心和圆形度
- console, terminal, tty, pty是啥?
- CodeForces
- python学习笔记
- jdbc操作工具类