数据校验
1.导入jar包
2.配置校验器,并加入适配器
3.bean上添加校验信息
4.controller上校验信息的处理
一:jar包的导入
二:配置校验器validator
<!-- 校验器,配置validator -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
<property name="validationMessageSource" ref="validationMessageSource"></property>
</bean>
<!-- 配置validationMessageSource -->
<bean id="validationMessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 指定校验信息的资源文件的基本文件名称,不包括后缀,后缀默认是properties -->
<property name="basenames">
<list>
<value>classpath:validationMessageSource</value>
</list>
</property>
<!-- 指定文件的编码 -->
<property name="fileEncodings" value="utf8"></property>
<!-- 对资源文件内容缓存的时间,单位秒 -->
<property name="cacheSeconds" value="120"></property>
</bean>
<!-- 将校验器加入适配器-->
<mvc:annotation-driven validator="validator" />
三:在bean上添加校验信息
public class user {
@Size(min=3,max=10,message="{com.name.size}")
//错误信息可以通过配置文件,也可以直接在message中直接书写
private String username;
@NotEmpty(message="密码好像空了")
private String password;
}
四:controller控制器
public class show2 {
@RequestMapping(value="/show2")
public String show2(Model model,@Validated user user,BindingResult result){
//所校验的信息后面需要跟上BindingResult result
if(result.hasErrors()){
List<ObjectError> errors = result.getAllErrors();
for (ObjectError Error : errors) {
System.out.println(Error);
}
model.addAttribute("errors", errors);
return "jsp/error";
}
model.addAttribute("user", user);
return "jsp/welcome";
}
}
五:访问