1.引入依赖
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.2.Final</version>
</dependency>
2.dispatcher-servelt.xml配置
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<property name="validationMessageSource" ref="messageSource"/>
</bean>
<!-- 校验错误信息配置文件 -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<!-- 资源文件名,这里property的name为basenames所以错误信息的配置文件CustomValidationMessages省去后缀 -->
<property name="basenames">
<list>
<value>classpath:CustomValidationMessages</value>
</list>
</property>
<!-- 资源文件编码格式 -->
<property name="fileEncodings" value="UTF-8" />
<property name="defaultEncoding" value="UTF-8"/>
<!-- 对资源文件内容缓存时间,单位秒 -->
<property name="cacheSeconds" value="120" />
</bean>
3.添加注释校检
4.在controller中使用
@RequestMapping(value = "/add",method = RequestMethod.POST)
public String add(@Validated User user, BindingResult br){
if (br.hasErrors()){
return "user/add";
}
users.put(user.getUsername(),user);
return "redirect:/user/users";
}
}
5.jsp展示
<sf:form method="post" modelAttribute="user">
Username:<sf:input path="username"/><sf:errors path="username"/><br>
Password:<sf:input path="password"/><sf:errors path="password"/><br>
Age:<sf:input path="age"/><br>
Sex:<sf:input path="sex"/><br>
<input type="submit" value="添加用户"/>
</sf:form>