尼妈,spring3.1.1 messagesource不能设置defaultencoding
Posted On 2014年7月25日
spring 3.1.1 国际化(messagesource) 遇到的问题。 当然spring 3.2.9 上可以设定defaultencoding。
application-context 设定一个bean messageSource
<bean id="messageSource"> <property name="basename" value="message"/> 3.1.1 不支持defaultencoding 的设置,这下难倒了。 3.2.9 支持defaultencoding设置。 </bean>
如果不舍定defaultencoding位utf-8
那么message_zh_CN.properties 此文件只能为iso-8859-1 编码,否则通过spring3的 messagesource获取到则为乱码。 这里我们输入中文后,通过messagesource读取到的文字不会乱码。但是编辑起来那可是让人头疼。都会显示 \u 表示为unicode字符。
NotEmpty.user.name=User Name can not be blank.Size.user.name=\u4EC0\u4E48User Name must be between 5 to 20 charactersSize.user.password=\u4EC0\u4E48Location must be between 5 to 10 characters
如下是一个测试 messagesource 的例子。
public class IndexController { @Autowired private MessageSource messageSource; @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); logger.info(messageSource.getMessage("Size.user.name", null, new Locale("zh_CN"))); // 这里我们把资源message_zh_CN.properties 里的size.user.name 打印出来 }
此篇文章已被阅读2336 次