读书人

strtus2兑现国际化

发布时间: 2012-09-06 10:37:01 作者: rapoo

strtus2实现国际化
网上给的struts2实现国际化的资料都不是很全,在全部实现以后我做个大致的记录
1.如何使用国际化
在struts配置文件中配置常量,需要注意的是value值message.messages表示配置文件指向message包下的文件名以messages(_语言名.properties)的文件
<constant name="struts.custom.i18n.resources" value="message.messages" />

2.如何获取配置文件的值?
页面:
<s:text name="配置的键"/>
后台:写了个工具类 列其中一个最简单的 主要通过ResourceBundle 类获取配置文件map对象

//判断语言信息        if (null != httpServletRequest.getSession().getAttribute("locale"))        {            locale = (Locale) httpServletRequest.getSession()                    .getAttribute("locale");            RequestContext.getContext().setLocale(locale);            ActionContext.getContext().setLocale(locale);            return;        }

方法:前台点击切换时使用ajax将session的locale值重新赋一下,然后刷新页面,后台在运行页面前session中是否存在,如果不存在则创建一个默认的Locale类,最后将Locale放入ActionContext.getContext就能实现国际化,系统会直接找到message报下的 messages_locale.language.properties来获取对应的值

读书人网 >软件架构设计

热点推荐