理解校验
springmvc检验:
springmvc使用hibernate的校验框架validation(和hibernate没有任何关系)
检验思路:
页面提交请求的参数,请求到controller方法中,使用validation进行校验。如果校验不通过,将错误信息返回到页面。
具体需求:
商品修改,添加校验(校验商品名称长度,生产日期非空校验),如果校验出错,在商品修改页面显示错误信息。
环境准备:
hibernate的框架validation所需的就ar包
配置校验器(springMVC.xml配置文件中)
<!-- 校验器 -->
<bean id="validation"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<!--校验器 -->
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
<!--指定校验使用的资源文件,在文件中进行配置校验错误的信息,如果不指定则默认为classpath下的ValidationMessage.properties -->
<property name="validationMessageSource" ref="messageSource" />
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:CustomValidationMessage</value><!--这里不加。properties是因为上面property中的 name是basenames -->
</list>
</property>
<!--文件编码方式 -->
<property name="fileEncodings" value="utf-8" />
<!--对资源文件内容缓存时间单位是秒,120秒后重新加载 -->
<property name="cacheSeconds" value="120" />
</bean>
校验器注入到处理器适配器中
在pojo中添加校验规则
CustomValidationMessage.properties配置
页面显示错误信息
注:工程目录结构请参看前几篇springMVC文档