SpringMVC学习(七)-JSR303数据校验
2017-09-01 16:50
337 查看
当下开发最常用的是JSR303数据校验:
重点步骤:
1)首先要引入jar包
2)配置验证器
3)编写验证器
1.验证器的配置文件
2.封装类(用注解的方式)
3.验证类
4.简单jsp页面
重点步骤:
1)首先要引入jar包
2)配置验证器
3)编写验证器
1.验证器的配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> <!-- 配置自动扫描的包 --> <context:component-scan base-package="com.springmvc"></context:component-scan> <!-- 配置视图 BeanNameViewResolver解析器:使用视图的名字来解析视图 order属性越低优先级越高 --> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"> <property name="order" value="10" /> </bean> <!-- 配置视图解析器:如何把handler方法返回值解析为实际视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 配置国际化资源文件 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="i18n"></property> </bean> <!-- --> <mvc:default-servlet-handler/> <mvc:annotation-driven></mvc:annotation-driven> <!-- 在这里启用转换器 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 定义自定义类型转换器的bean --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <!-- 这里是我们自己定义的类型转换器 --> <!-- 注意,这里首字母要小写,因为springmvc帮我们创建bean的时候,是以类名首字母小写命名 --> <ref bean="employeeConverter"/> </set> </property> </bean> <!-- 配置验证器 --> <bean id="myvalidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property> </bean> <mvc:annotation-driven validator="myvalidator"/> </beans>
2.封装类(用注解的方式)
package com.springmvc.login; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; public class User { //成绩 @NotNull //不能为空 @Min(value=0,message="成绩最小值为{value}") //最小值 @Max(value=100,message="成绩最大值为{value}") //最大值 private Integer score; //姓名 @NotNull @Size(min=6,message="名称至少6个字符") //字符 private String name; //成绩 @NotNull @Pattern(regexp="^1[3,4,5,6,7,8,9]\\d{9}$",message="手机号码格式不正确") private String phone; public Integer getScore() { return score; } public void setScore(Integer score) { this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
3.验证类
package com.springmvc.login; import javax.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class myController { @RequestMapping("/first.do") public ModelAndView firstDo(@Valid User user,BindingResult br) { ModelAndView mv=new ModelAndView(); mv.setViewName("welcome"); int count = br.getErrorCount(); if(count>0) { FieldError score = br.getFieldError("score"); FieldError name = br.getFieldError("name"); FieldError phone = br.getFieldError("phone"); if(score!=null) { mv.addObject("scoremsg",score.getDefaultMessage()); } if(name!=null) { mv.addObject("namemsg",name.getDefaultMessage()); } if(phone!=null) { mv.addObject("phonemsg",phone.getDefaultMessage()); } mv.setViewName("login"); } return mv; } }
4.简单jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <h1>数据校验</h1> <form action="${pageContext.request.contextPath }/first.do" method="post"> 成绩:<input name="score" /> <span>${scoremsg }</span><br/><br/> 姓名:<input name="name"/><span>${namemsg }</span><br/><br/> 电话:<input name="phone"/><span>${phonemsg }</span><br/><br/> <input type="submit" value="提交"/> </form> </body> </html>
相关文章推荐
- 学习SpringMVC(十八)之JSR303数据校验
- springmvc-JSR303数据校验
- SpringMVC 学习笔记(六) 数据绑定和JSR校验
- 【SpringMVC学习06】SpringMVC中的数据校验
- 【SpringMVC学习06】SpringMVC中的数据校验
- SpringMVC(20):数据校验功能 -- 使用JSR303实现服务器端的数据校验
- springmvc学习笔记(25)——数据格式化与数据校验
- 框架学习之springMvc整合框架-03数据校验、类型转换
- 【SpringMVC学习06】SpringMVC中的数据校验
- 【SpringMVC学习06】SpringMVC中的数据校验
- SpringMVC 集成JSR303数据校验
- springmvc JSR303 Validate 注解式,校验数据
- SpringMVC学习笔记六:使用 hibernate-validator注解式数据校验
- Springmvc学习(05)-数据校验
- springMVC学习笔记(三) 数据校验
- Springmvc学习笔记(4)之复杂参数类型绑定、校验、数据回显和异常处理
- SpringMVC 学习笔记3 - 数据校验 & 编码过滤器
- Spring MVC学习(七)-------SpringMVC数据格式化
- SpringMvc的数据校验
- Struts2学习第二天——获取参数与数据校验