SpringMVC下用Hibernate Validator 乱码
来源:互联网 发布:域名注册申请流程 编辑:程序博客网 时间:2024/05/23 19:24
概述:
DTO文件:
@NotNull
@Size(min=2, max=30, message="{firstName.size}")
private String firstName;
@NotNull
@Size(min=2, max=30,message="{lastName.size}")
private String lastName;
@NotNull
@Email(message="{email.valid}")
private String email;
@NotNull
@Size(min=5, max=16,message="{username.size}")
private String username;
@NotNull
@Size(min=5, max=25,message="{password.size}")
private String password;
配置文件:
firstName.size=First name 必须在 {min} 到 {max} 字符长度之间.
lastName.size=last name 必须在 {min} 到 {max} 字符长度之间.
username.size=username 必须在 {min} 到 {max} 字符长度之间.
password.size=password必须在 {min} 到 {max} 字符长度之间.
email.valid=email 地址必须有效。
日志:
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.NotNullValidator'
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Finished creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.NotNullValidator'
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.size.SizeValidatorForCharSequence'
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Finished creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.size.SizeValidatorForCharSequence'
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - ValidationMessages found.
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - ContributorValidationMessages not found.
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - org.hibernate.validator.ValidationMessages found.
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.size.SizeValidatorForCharSequence'
[org.springframework.beans.factory.support.DefaultListableBeanFactory] - Finished creating instance of bean 'org.hibernate.validator.internal.constraintvalidators.bv.size.SizeValidatorForCharSequence'
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - ValidationMessages found.
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - ContributorValidationMessages not found.
[org.hibernate.validator.resourceloading.PlatformResourceBundleLocator] - org.hibernate.validator.ValidationMessages found.
问题出在:HIbernate Validation 通过 PlatformResourceBundleLocator 加载属性文件,最后资源是ResourceBundle
找了半天那里设置字符编码UTF-8,却发现没有,它根据Locale进行区分读取文件。读取文件默认编码是ISO-8859-1,而ISO-8859-1的properties文件是这样的
firstName.size=First name \u5FC5\u987B\u5728 {min} \u5230 {max} \u5B57\u7B26\u957F\u5EA6\u4E4B\u95F4.
lastName.size=last name \u5FC5\u987B\u5728 {min} \u5230 {max} \u5B57\u7B26\u957F\u5EA6\u4E4B\u95F4.
username.size=username \u5FC5\u987B\u5728 {min} \u5230 {max} \u5B57\u7B26\u957F\u5EA6\u4E4B\u95F4.
password.size=password\u5FC5\u987B\u5728 {min} \u5230 {max} \u5B57\u7B26\u957F\u5EA6\u4E4B\u95F4.
email.valid=email \u5730\u5740\u5FC5\u987B\u6709\u6548\u3002
看得不爽改成UTF-8,这下完蛋,乱码了,如果你是采用其他进行加载资源,如下可以设置字符编码,你可以自由发挥。
@Bean
public MessageSource messageSource(){
ResourceBundleMessageSource messageSource =
new ResourceBundleMessageSource();
messageSource.setBasename("messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
所以如果你properties文件显示汉字你得注意了,最后解决办法就是设置为ISO-8859-1,再次粘贴你内容,properties文件不要乱动。
- SpringMVC下用Hibernate Validator 乱码
- springMvc 整合hibernate-validator
- SpringMvc hibernate validator
- SpringMVC 支持Hibernate Validator
- springmvc hibernate-validator
- springMVC Hibernate Validator验证框架的使用
- springmvc 使用 hibernate-validator时失效
- springmvc使用hibernate-validator校验器
- SpringMVC+FastJson+hibernate-validator整合完整示例
- springMVC结合hibernate validator校验数据
- springmvc validator
- springMVC校验之hibernate validator校验器的使用
- 基于SpringMVC+hibernate-validator实现实现动态签名验证
- springMVC基于hibernate validator的表单验证示例
- springmvc使用hibernate-validator校验框架实现后端校验
- SpringMVC整合Hibernate Validator验证方法与js校验
- Hibernate Validator
- Hibernate Validator
- HDU 4689 Derangement【DP】
- HDU
- SQL常见问题总结
- 【mysql】索引
- 基于UDP协议的服务器/客户端
- SpringMVC下用Hibernate Validator 乱码
- LXC(Linux containers)快速入门
- Hibernate SQLQuery.addEntity的使用示例
- 解压.tar.bz2文件命令
- Activity
- Error: This attribute must be localized. 解决方法
- 剑指offer——二叉搜索树的第k个结点(覆盖TreeSet的compare方法)
- 基于HTML5 WebSocket的Web实时通信机制的研究与实现
- 微信小程序中实现微信支付