网上有很多文章是关于STRUTS如何支持国际化的,一般都是说的怎样依据输入参数往SESSION里面放置LOCALE的不同的值,然后STARTS会自动通过LOCALE的值来选择语言属性文件,然后通过得到不同的语言显示。
但是有很多时候属性文件中的值不仅仅在JSP中用到,而且会在JAVA文件中用到,网上有很多人提问,但是没有找到解答。这时候大部分人都是想到把PROPERTIS文件再读到内存中,然后得到用JAVA的PROPERIES类来得到属性值,后来发现STRUTS已经提供了一个简单的方法。下面和大家分享一下。
如果你有两个资源文件 1:MessageResources_en.properties(英文)
2:MessageResources_zh_CN.properties(中文)
在JAVA类中可以这样写
MessageResources mr = MessageResources.getMessageResources("MessageResources");
Locale locale = (Locale)request.getSession().getAttribute(Globals.LOCALE_KEY);
通过mr.getMessage(locale, "aaa")就可以得到aaa对应的字符了。
阅读(1500) | 评论(0) | 转发(0) |