首页 > 编程语言 > 详细

springMvc校验

时间:2015-08-15 02:13:51      阅读:332      评论:0      收藏:0      [点我收藏+]

springMvc校验

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年8月14日 17:02:03 星期五

http://fanshuyao.iteye.com/

?

?

一、首先加入jar包

1、下载hibernate-validator校验jar包文件,把jar包放到项目里(lib)

hibernate-validator-5.2.1.Final.jar

hibernate-validator-annotation-processor-5.2.1.Final.jar

hibernate-validator-cdi-5.2.1.Final.jar

(required文件夹的包

classmate-1.1.0.jar

javax.el-2.2.4.jar

javax.el-api-2.2.4.jar

jboss-logging-3.2.1.Final.jar

validation-api-1.1.0.Final.jar

?

二、在spring mvc配置文件加上校验的bean配置,如下:

<mvc:annotation-driven validator="validator" conversion-service="conversion-service" />
    
	<!-- 下面两个bean相当于mvc:annotation-driven -->
	<!-- 
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> 
    -->
    
    <!-- 校验 -->
	<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass"  value="org.hibernate.validator.HibernateValidator"/>
        <!--不设置则默认为classpath下的 ValidationMessages.properties -->
        <property name="validationMessageSource" ref="validatemessageSource"/>
    </bean>
    <bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />
    <bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
        <property name="basename" value="classpath:message"/>  
        <property name="fileEncodings" value="utf-8"/>  
        <property name="cacheSeconds" value="120"/>  
    </bean>

??

1、配置校验的bean,以及配置校验的配置文件

<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass"  value="org.hibernate.validator.HibernateValidator"/>
        <!--不设置则默认为classpath下的 ValidationMessages.properties -->
        <property name="validationMessageSource" ref="validatemessageSource"/>
    </bean>

?

2、给校验加上国际化信息配置

其中

?<property name="basename" value="classpath:message"/>

的value值配置的是国际化的配置文件的名称,放在src目录下。如message.properties

如果需要配置英文的配置文件,增加名称为message_en_US.properties的文件

?

bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  
        <property name="basename" value="classpath:message"/>  
        <property name="fileEncodings" value="utf-8"/>  
        <property name="cacheSeconds" value="120"/>  
    </bean>

?

3、可以加上类型格式化的bean

?

<bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />

?

?4、把校验和类型格式化交给mvc:annotation-driven管理

<mvc:annotation-driven validator="validator" conversion-service="conversion-service" />

?

?三、在Java文件中配置注解校验

@NotEmpty(message="{student.name.empty}")
	@Length(min=6,max=20,message="{student.name.length}")
	private String name;
	
	@NotNull(message="{student.age.null}")
	@Range(min=8,max=180,message="{student.age.length}")
	private int age;

?

1、@Length 校验长度,但是校验的是字符串

2、@Range 校验的是数字类型的大小

3、message对应的为配置文件中(message.properties)的键值,注意的是message是用{ }包起来的。

?

?

?
bubuko.com,布布扣
?

?

?更多信息请参考官方文档:http://docs.jboss.org/hibernate/validator/4.3/reference/en-US/html/validator-usingvalidator.html

?

?

四、在property文件配置信息

1、message.properties

?student.age.null=\u5E74\u9F84\u4E0D\u80FD\u4E3A\u7A7A\u3002
student.age.length=\u5E74\u68C0\u5FC5\u987B\u5728{min}\u81F3{max}\u4E4B\u95F4
student.name.empty=\u59D3\u540D\u4E0D\u80FD\u4E3A\u7A7A\u3002
student.name.length=\u59D3\u540D\u957F\u5EA6\u5FC5\u987B\u5728{min}\u81F3{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4

?

?2、message_en_US.properties

?student.age.null=age can‘t be null.
student.age.length=age length must between {min} and {max}
student.name.empty=name can‘t be empty.
student.name.length=name length must between {min} and {max}

?

?

五、显示效果


bubuko.com,布布扣
?

?
bubuko.com,布布扣
?

?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 2015年8月14日 17:02:03 星期五

http://fanshuyao.iteye.com/

?

?

?

springMvc校验

原文:http://fanshuyao.iteye.com/blog/2235583

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!