Struts2表单数据验证
来源:互联网 发布:total recall for mac 编辑:程序博客网 时间:2024/05/01 05:50
数据验证:
客户端验证,服务器端验证,今天我们主要说服务器端验证
服务器端验证:
1:编程式验证:写代码验证:写死了,硬编码
package com.qianfeng.web.action;import org.apache.commons.lang3.StringUtils;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.qianfeng.domain.User;import com.qianfeng.service.UserService;import com.qianfeng.service.impl.UserServiceImpl;public class UserAction extends ActionSupport implements ModelDriven<User> { private User user=new User(); private UserService userService = new UserServiceImpl(); /** * 编程式验证:重写ActionSupport中的public void validate()方法 * Struts2内部封装了一个Map,Map的键就是表单上的name值 * 值就是错误信息 * 注意:动作类必须继承ActionSupport * 默认validate()方法在所有动作方法执行之前执行 * 为了让不需要验证的不去执行validate()方法,解决方式有两种: * 1:使用注解:@SkipValidation * 2: 如果只有一个方法需要验证,其他的很多个方法都不需要验证,这时候可以 * 验证的方法名:validate+动作方法名(首字母要大写)(注意这里是动作方法名而不是动作名) * @return */ @Override public void validate() { //验证用户名不能为空 if(StringUtils.isEmpty(user.getUsername())){ addFieldError("username","用户名不能为空"); } } //public void validateRegist() { //验证用户名不能为空 //if(StringUtils.isEmpty(user.getUsername())){ //addFieldError("username","用户名不能为空"); //} //} public String regist(){ //判断用户是否存在 User user1=userService .finUserByUserName(user.getUsername()); if(user1!=null){ return "exists";} //把用户添加到数据库 int result = userService.register(user); if(result>0){ return "success"; } return null; } @Override public User getModel() { return user; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }}
2:声明式验证:写xml文件验证
声明式验证:通过xml文件实现验证
* 在动作类所在的包下创建xml文件
* 文件名有命名规则:动作类名-validation.xml,默认验证所有动作方法
* 希望某些方法不被验证:
* 1:加注释@SkipValidition
* 2:xml文件名改成 动作类名-动作名-validition.xml,注意这里是动作名而不是动作方法名
*
* 在xml文件中加入dtd约束 在E:\daliyuan\10-17\day52\struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib
* 中找到xwork-core.jar中找到xwork-validator-1.0.3.dtd找到
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
UserAction-regist-validation.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"><validators> <!-- 基于字段的验证 --> <field name="username"> <!-- 怎么验证 , struts内部已经定义了很多的验证器 requiredstring判断是否为null,或空字符串,去除空格 --> <field-validator type="requiredstring"> <message>用户名不能为空</message><!-- --> </field-validator> </field> <!-- 基于验证器的验证 --> <validator type="requiredstring"> <!-- 使用注入的方式指明验证谁 private String actionName; setActionName("action1"); 验证器的位置:xwork-core-2.3.15.3.jar\com\opensymphony\xwork2\validator\validators --> <param name="fieldName">password</param> <message>密码不能为空</message> </validator></validators>
3 0
- Struts2表单数据验证
- struts2表单数据验证
- Struts2的表单数据验证
- Struts2对表单提交数据的验证
- struts2表单错误处理和数据验证
- Struts2-利用数据验证框架进行表单验证
- 运用Struts2数据验证实现注册表单验证
- Struts 验证 Struts2 表单
- Struts2 表单验证
- Struts2表单验证
- struts2表单验证
- Struts2表单基本验证
- struts2 表单验证学习
- struts2表单验证实例
- Struts2 的表单验证
- Struts2表单基本验证
- Struts2表单验证框架
- 心得:Struts2 表单验证
- vi编辑器的基本操作
- 防盗链原理
- RK3288 笔记
- Python IDLE快捷键
- 让一个数字显示指定位数
- Struts2表单数据验证
- hdu2087 剪花布条(kmp)
- 怎样从Mysql官网下载mysql.tar.gz版本的安装包
- Leetcode 414. Third Maximum Number 第三大的数 解题报告
- 洛谷 P1341无序字母对
- 嵌入式linux基础教程第二版 第二章
- 使用EA画ER图并导出为图片
- 源码解析
- QT5日志功能(qDebug、qWarnng、qCritical、qFatal)