SpringMVC+HibernateValidator,读取在properties文件中的错误提示信息为乱码

1. properties文件中的校验错误提交信息:
      
 items.name.length.error=请输入1到30个字符的商品名称
 items.createtime.isNull=请输入商品的生产日期

2. springmvc.xml中的配置为:

<!-- 资源文件编码格式 -->
<property name="fileEncodings" value="utf-8"/>
<!-- 对资源文件内容缓存时间,单位秒 -->
<property name="cacheSeconds" value="120" />
3. Java代码

if (bindingResult.hasErrors()) {
	List<ObjectError> allErrors  = bindingResult.getAllErrors();
	for (ObjectError objectError : allErrors ) {
		System.out.println(new String(objectError.getDefaultMessage().getBytes("ISO-8859-1"),"utf-8"));
		System.out.println(objectError.getDefaultMessage());
		}
	//.....
}
4. 输出结果
请输入1到30个字符的商品名称
请输入1到30个字符的商品名称
5. 分析:上述结果表明,读取到的properties文件里的信息ISO-8859-1格式信息,在xml文件中的fileEncodings配置未起作用。如果在Java代码中一直使用编码格式转换(new String(objectError.getDefaultMessage().getBytes("ISO-8859-1"),"utf-8"))十分不便。

6. 解决:在xml文件中再加上以下的编码配置,就万事大吉了。

<property name="defaultEncoding" value="UTF-8"/>
7. 测试结果

???1?30????????
请输入1到30个字符的商品名称

8. 参考:http://blog.csdn.net/stloven5/article/details/53312012


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值