Spring的校验(Validator)
使用Spring校验的大体流程:
最首先要有配置文件xml的支持(spring_validate.xml).(当然在web.xml中要有对该xml的体现)
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
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-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
"> <bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
<!-- 如果不加默认到 使用classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="messageSource" />
</bean> <bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 以发布到服务器的路径为准 -->
<property name="basename" value="classpath:messages" />
<property name="fileEncodings" value="utf-8" />
<property name="cacheSeconds" value="120" />
</bean> <bean id="webBindingInitializer"
class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> <property name="conversionService">
<bean
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
</bean> </property>
<property name="validator" ref="validator" />
</bean> </beans>
然后就是这个东西登场了:messages.properties.
然后在model层里相应的地方也要有相应的体现
public class User{ @NotEmpty
private String username;
@NotEmpty
private String password;
@NotEmpty
private String repassword; @NotEmpty
private String email;
@NotEmpty
private String xm;
}
再然后是control层里的调用:
public String xx(@Valid User user,
BindingResult result, Map map ){ if(result.hasErrors()){
return "xx.ftl";
}
}
最后是在JSP页面了(个人用的是ftl)
首先要有这两句话:Spring的组件
<#assign spring=JspTaglibs["http://www.springframework.org/tags"]/>
<#assign form=JspTaglibs["http://www.springframework.org/tags/form"] />
然后在对应的input下都要有所体现
用户名:<input type="text" name="username" id="username">
<@form.errors path="username"/>
密码:<input type="text" name="password" id="password">
<@form.errors path="password"/>
在最后注意form表单要这样写。其中commandName是那个的实体类名的小写。
<@form.form commandName="user" action="" method="post" name="" id="">
显示的效果是这样:
本帖纯属个人的学习和理解,如有错误请各位大神指正。
Spring的校验(Validator)的更多相关文章
- spring mvc 4数据校验 validator
注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC http://jinnianshilongnian.iteye.com/blog/1733708Spring4新特性——集成B ...
- spring mvc后端校验validator
springmvc中我们使用hibernate的校验框架validation: pom: <validator.version>5.2.4.Final</validator.vers ...
- SpringMVC使用校验validator校验对象属性
1.pom.xm添加依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>va ...
- spring boot:使用validator做接口的参数、表单、类中多字段的参数验证(spring boot 2.3.1)
一,为什么要做参数验证? 永远不要相信我们在后端接收到的数据, 1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口, 相信大家可能很多人在工作中遇到过这种情况 2,防 ...
- spring 数据校验之Hibernate validation
1.需要的jar包 2.springsevlet-config.xml配置 在spring3之后,任何支持JSR303的validator(如Hibernate Validator)都可以通过简单配置 ...
- 数据校验validator 与 DWZ
在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 ...
- Spring 捕捉校验参数异常并统一处理
使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxY ...
- spring 接口校验参数(自定义注解)
1. 注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.l ...
- spring 参数校验
1.了解下资源文件加载 MessageSource 需要国际化处理时使用这个类 (在需要处理国际化的地方使用messageSource.getMessage(this.getResponseCod ...
随机推荐
- 怎么显示隐藏Mac上的隐藏文件
打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.app ...
- 利用Python3的dpkt库进行ARP扫描
背景 正在学习网络协议,用Python写起来方便点,可以快速熟悉协议本身,也给自己补充一些Python库. 偶然看到这篇文章,讲的是Python发ARP包,发现是Python2的,这里改了一下,用Py ...
- POJ1077 Eight —— IDA*算法
主页面:http://www.cnblogs.com/DOLFAMINGO/p/7538588.html 代码一:像BFS那样,把棋盘数组放在结构体中. #include <iostream&g ...
- POJ3126 Prime Path —— BFS + 素数表
题目链接:http://poj.org/problem?id=3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- java在某个日期上添加n天的方法实现
//得到添加n天后的时间字符串 public String getAddDate(Date date,int n){ //格式转换 SimpleDateFormat sdf = new SimpleD ...
- 编程方式取得Spring上下文的Properties
在spring初始化时,可以使用Properties配置器把properties文件装载到Spring的上下文中. ... xmlns:context="http://www.springf ...
- [Selenium] Selenium common Actions Examples
1.sendKeys() 在文本框中输入字符串 WebElement searchBox = driver.findElement(By.name("q")); searchBox ...
- JS实现系统时间(自动)
转自:https://blog.csdn.net/qq_35607510/article/details/54600563
- js获取动态日期时间
var timer=null; function tt(n){ if(n<10){ return '0'+n }else{ return n+'' } } timer=setInterval(f ...
- c语言基本数据类型相关
1byte = 8bit 数据类型 比特长度 位长度 IO表达 int 2/4 16/32 %d unsigned (int) 2/4 16/32 %u short int ...