您的位置:首页 > 编程语言 > Java开发

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

2018-01-19 21:26 597 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐