| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
许多情况下,我们都需要在动行时(runtime)为国际化字符插入一些参数,例如在输入验证提示信息的时候。在Struts 2.0中,我们通过以下两种方法做到这点: 网管论坛bbs_bitsCN_com
开发国际化的应用程序时,有一个功能是必不可少的——让用户快捷地选择或切换语言。在Struts 2.0中,通过ActionContext.getContext().setLocale(Locale arg)可以设置用户的默认语言。不过,由于这是一个比较普遍的应用场景(Scenario),所以Struts 2.0为您提供了一个名i18n的拦截器(Interceptor),并在默认情况下将其注册到拦截器链(Interceptor chain)中。它的原理为在执行Action方法前,i18n拦截器查找请求中的一个名为"request_locale"的参数。如果其存在,拦截器就将其作为参数实例化Locale对象,并将其设为用户默认的区域(Locale),最后,将此Locale对象保存在session的名为“WW_TRANS_I18N_LOCALE”的属性中。 网管有家www.bitscn.net
下面,我将提供一完整示例演示它的使用方法。 中国网管联盟bitsCN.com
package tutorial;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Map; 网管联盟bitsCN@com 

publicclass Locales
{ 网管下载dl.bitscn.com 
public Map<String, Locale> getLocales()
{ 网管有家www.bitscn.net
Map<String, Locale> locales =new Hashtable<String, Locale>(2);
locales.put("American English", Locale.US); 网管联盟bitsCN@com
locales.put("Simplified Chinese", Locale.CHINA);
return locales;
}
}|
2
|
评论加载中…