Spring MVC——数据检验步骤
1. 搭建web工程
2. 导入jar包
spring-beans.jar、spring-context.jar、spring-core.jar、spring-expression.jar、spring-aop.jar、spring-web.jar、spring-webmvc.jar、
【
hibernate-validator-4.3.0.Final.jar、jboss-logging-3.1.0.CR2.jar、validation-api-1.0.0.GA.jar
】
添加依赖包: commons-logging.jar、aopalliance.jar
3.在spring-mvc.xml中配置校验器
<!-- 校验器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!--Hibernate校验器-->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
<!-- 指定错误信息配置文件:默认情况读取类路径classpath下的 ValidationMessages.properties-->
<property name="validationMessageSource" ref="messageSource"></property>
</bean>
<!--读取错误信息配置文件 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 文件路径 -->
<property name="basenames">
<value>classpath:CustomerValidationMessages</value>
注意:在类路径下自定义的配置文件
</property>
<!-- 指定文件编码格式 -->
<property name="fileEncodings" value="utf-8"></property>
<!-- 指定文件内容缓存时间,秒为单位 -->
<property name="cacheSeconds" value="60"></property>
</bean>
4. 在spring-mvc.xml文件中,将校验器注入到适配器中
<!-- 处理器适配器、处理器映射器 -->
<mvc:annotation-driven validator="validator"></mvc:annotation-driven>
5. 添加校验规则
public class User {
//用户名不能为空
@NotEmpty(message="{user.username}")
public String username;
//密码长度必须在6-12之间
@Length(min=6,max=12,message="{user.password}")
public String password;
//必须符合正则表达式规则
@Email(regexp="^[_a-z0-9]+@([_a-z0-9]+\\.)+[a-z0-9]{2,3}$")
private String email;
}
8. 在spring-mvc.xml文件中,配置错误信息文件CustomerValidationMessages.properties
user.username = 用户名不能为空
user.password = 密码长度必须在6-12之间
user.email = 邮件格式不正确
9. 捕获错误信息
@Controller
public class UserController {
@RequestMapping("/insertUser")
public String insertUser(Model model,@Validated User user,BindingResult bindingResult,Integer uid)
{
if(bindingResult.hasErrors())
{
//获取所有的错误信息
List<ObjectError> errorList = bindingResult.getAllErrors();
for (ObjectError error : errorList) {
System.out.println(error.getDefaultMessage());
}
/*
* 数据回显
*/
//1.POJO类型会默认保存在request作用域中
//model.addAttribute("user", user);
//2.简单数据类型Integer、String、Double需手动保存
model.addAttribute("uid", uid);
//保存错误信息
model.addAttribute("errorMsg", errorList);
return "index";
}
else
{
return "main";
}
}
}
10.显示错误信息
11.测试
http://localhost:8088/springMvc_05_validation/index.jsp
转载于:https://www.cnblogs.com/ccw95/p/6165324.html
Spring MVC——数据检验步骤相关推荐
- 基于佟刚老师视频教程的Spring MVC数据类型转换学习总结
基于Spring MVC数据类型转换的学习笔记总结 问题 页面中数据格式为字符串格式,后台pojo中对应的类型可能为另外一种对象. 如: 在前台页面输入一个固定格式的时间字符串,在后台接收为一个jav ...
- Spring MVC数据验证简介
用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题. 在 Spring MVC 框架中有以下两种方法可以验证输入数据: 利用 Spring 自带的验证框架. 利用 ...
- Spring MVC数据验证
文章目录 客户端验证 服务器端验证 自定义 Spring 验证器 Validator接口 ValidationUtils 类 Spring MVC验证器应用实例 JSR 303 验证 Hibernat ...
- Spring MVC 数据校验
数据校验是每个项目中必不可少的模块,Spring MVC 提供了两种数据校验的组件: 基于 Validator 接口进行校验 使用 Annotation JSR-303 标准校验 使用基于 Valid ...
- Spring MVC 数据验证——validate注解方式
1.说明 学习注解方式之前,应该先学习一下编码方式的spring注入.这样便于理解验证框架的工作原理.在出错的时候,也能更好的解决这个问题.所以本次博客教程也是基于编码方式.仅仅是在原来的基础加上注解 ...
- Spring Mvc 数据回显、异常处理、文件上传、json交互、ResTful、拦截器的使用(高级三)
1,数据回显 SpringMvc包含三种数据回显机制 第一种:对于简单数据类型,如:Integer.String.Float等使用Model将传入的参数再放到request域实现显示. (回顾jsp四 ...
- Spring MVC 数据回显
springmvc 的数据回显 原创 2015年08月02日 11:39:00 标签: springmvc 1 数据回显 1.1 什么数据回显 提交后,如果出现错误,将刚才提交的数 ...
- Spring MVC(4):数据校验
Spring MVC数据校验 一般来说,准许开发中的 DRY 原则,对于Java程序中的数据校验逻辑和相应的域模型会进行绑定,将代码逻辑集中管理: Spring 在使用DataBinder 对数据进行 ...
- Spring MVC【入门】就这一篇
MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1: 出现的弊端: JSP 和 Ja ...
最新文章
- 项目管理三大认证体系,该选择谁?
- 虚拟现实大会ChinaVR2015报告之-数据可视化的挑战与机遇
- linux防火墙 限制端口,Linux开启防火墙并限制开放端口
- android安装python opencv_MacLinux环境在Android Studio中安装OpenCV
- QT的QAssociativeIterable类的使用
- 通过手动抛自定义异常实现spring事务回滚
- python通过什么对象连接数据库_干货!python与MySQL数据库的交互实战
- python白鹅类型_fluent python 11.10节 鹅的行为有可能像鸭子
- Python学习笔记-数字类型
- 统计学附录,F分布和t分布表
- 3月28日服务器维护,4月28日服务器例行维护公告
- 【yum】yum 源的配置与使用
- 怎么用spss做冗余分析_SPSS进行典型相关分析结果总结
- 单片机c语言串转并的IO实验,74LS164 串入并出实验
- 苹果html 闪退,iPhone6 App闪退的解决办法 掌握这4点苹果App不再闪退
- python中print打印输出
- java简易计算器报告_JAVA实训报告简易计算器.doc
- python + 数学公式 + 图像 表白 LOVE YOU❤
- R语言实现拟合神经网络; 神经网络包
- 9 9简单的数独游戏python_如何使用tkinter gui python创建一个9*9的数独生成器?