[Note]Spring MVC、hibernate validator和i18n(四)
来源:互联网 发布:女士秋季新款服装淘宝 编辑:程序博客网 时间:2024/06/11 07:39
本节是本文的最后一节,主要介绍本项目的数据验证。类Account的各字段上的标记@NotNull @Size @Future是JSR-250规定的验证标记,本项目使用的validator是hibernate validator,hibernate validator完整地支持JSR-250,是Spring的数据验证模块中最佳选择。在本项目中,creatForm.jsp提交form后会触发AccountController的方法public String create(@Valid Account account, BindingResult result)中,其中的@Valid标记表示在传入的account对象之前要对其进行验证,如果account对象中的字段违反了相应标记的限制,产生的error就会随着相应的error code以及被验证的对象信息加入到BindingResult对象中,public String create(@Valid Account account, BindingResult result)方法体内对BindingResult对象进行判断,只要有error存在,就返回“account/createForm”,同时把BindingResult对象也绑定到response中,这一次creatForm.jsp页面在一次被解析,与违反规则的account字段绑定的form:errors就会显示错误信息,同时form:label也会使用cssErrorClass中定义的样式。
hibernate validator也提供了错误信息的i18n功能,在hibernate-validator.jar库的org/hibernate/validator目录下有三个properties文件:ValidationMessages.properties,ValidationMessages_de.properties,ValidationMessages_fr.properties,分别定义了错误信息的英语、德语和法语版本,在相应的local环境下就会显示。将这三个文件取出放入本项目的classpath中,即/WEB-INF/classes文件夹下,再加入对应其他local的properties文件,如ValidationMessages_en.properties,ValidationMessages_zh.properties,ValidationMessages_es.properties等。例如本项目的ValidationMessages_zh.properties的内容为
由于本项目只使用了@NotNull @Size @Future,所以只对javax.validation.constraints.Future.message,javax.validation.constraints.NotNull.message,javax.validation.constraints.Size.message进行了修改,再一次说明该文件中的UTF-8码是因为我使用的是没有装中文语言包的ubuntu9.10开发导致的中文编码。
本文说明的SpringMVCBasic项目的源代码从http://download.csdn.net/source/2179669这里下载。
- [Note]Spring MVC、hibernate validator和i18n(四)
- [Note]Spring MVC、hibernate validator和i18n(一)
- [Note]Spring MVC、hibernate validator和i18n(二)
- [Note]Spring MVC、hibernate validator和i18n(三)
- Hibernate validator使用和自定义validator及整合Spring MVC
- Hibernate validator使用和自定义validator及整合Spring MVC
- Spring Validator和Hibernate Validator
- Spring MVC 整合 hibernate-validator
- spring mvc 数据校验 -- hibernate-validator
- spring mvc i18n+freemarker
- spring MVC I18N使用
- spring mvc i18n设置
- spring MVC中基于hibernate validator的form表单验证
- spring mvc 结合Hibernate Validator进行服务器验证
- spring MVC中基于hibernate validator的form表单验证
- Spring MVC基于hibernate validator的数据验证示例
- spring MVC中基于hibernate validator的form表单验证
- Spring MVC 自定义Validator
- 程序员:开汽车,难道我要知道汽车的原理才能把车开好吗?
- 关于数据库操作
- 汽车尾灯控制电路设计的第一种方法
- windows进程内存分配范围
- java IP转换
- [Note]Spring MVC、hibernate validator和i18n(四)
- oracle dblink两步搞定Oracle两个数据库间的表同步
- 【转】 使用设计模式改善程序结构(二)
- Tomcat5不保留SESSION.ser的
- smbus协议
- 与失眠有约
- 机器学习 -- SVM:线性可分性问题(转载)
- Apache 安装完成后出现“No services installed”错误
- C#异步调用方法总结