读书人

Spring MVC 学习札记 十 使用jsr 303进

发布时间: 2012-08-30 09:55:54 作者: rapoo

Spring MVC 学习笔记 十 使用jsr 303进行校验
Spring MVC在使用了<mvc:annotation-driven> 后,如果路径中有jsr 303的实现,将自动提供对jsr 303验证方式的支持。
一:使用hibernate validator进行数据验证
选择的是hibernate validator,因此需要修改pom.xml增加对hibernate validator的支持。


访问 http://localhost:8080/springmvc/valid?userName=winzip&email=winzip
查看验证结果。
二:自定义jsr 303格式的annotation
参考hibernate validator 4 reference 手册中3.1节,增加一个自定义要求输入内容为定长的annotation验证类
新增annotation类定义

表示spring 将从路径valid/validation.properties中查找对于的message。
新增valid bean 引用新增的messageSource bean,表示valid message将从messageSource bean 注入。


最后修改之前新增的pojo bean ,新增一个mobileNO属性并增加对自定义标注的引用


可访问url http://localhost:8080/springmvc/valid?userName=winzip&email=winzip&mobileNO=138188888
来查看修改的结果。

三 json输入的验证
Spring mvc 3.0.5中对于json格式的输入直接使用@valid标注有问题,目前这个bug还未修复 (见 SPR-6709),预计在3.1 m2版本中会修复。
在此之前,可以通过如下几种方式来对json(或xml)格式的输入来进行验证。
1:在handler method中直接对输入结果进行验证




可通过修改后的helloworld.jsp中的json valid test1按钮进行调用测试。

2:将此验证逻辑封装为一个AOP,当需验证的对象前有@valid标注和@RequestBody标注时开始验证
新增handler method如下

最后,新增AOP类
 非常不错的文章    3 楼    zhangbd_Answer    2012-03-06              有些没有看明白,其中的pom.xml是干什么用的,谢谢回答!    4 楼    飞天奔月    2012-03-11              zhangbd_Answer 写道有些没有看明白,其中的pom.xml是干什么用的,谢谢回答!
maven 的配置文件

看这些文章 需要有maven的基础 5 楼 wenxiang_tune 2012-05-24 问候博主,明天来调试验证

读书人网 >JavaScript

热点推荐