struts是基于Java的,因此其国际化依赖于Java的国际化。Java在其核心库中提供了支持I18N的类和接口:Locale类用于实现本地化,ResourcesBundle类用于进行资源绑定。
Locale对象的使用和获得一般采用构造函数的方式:
Locale locale = new Locale("en","US");
Struts对国际化的支持:
(1)创建ResourceBundle资源文件
Resource Bundle的持久化信息文本存储在资源文件中,其扩展名为.properties.
(2)在struts的配置文件struts-config.xml中配置
<message-resources parameter="resources.applicationResources" />
(3)jsp页面采用<bean:message/>标签读取相应的信息文本。
若要强制进行语言的切换:
Locale locale = null;
if(language!=null&&!"".equals(language)){
if(language.equals("en")){
locale = new Locale("en","US");
}else if(language.equals("zh")){
locale = new Locale("zh","CN");
}
}
request.getSession().setAttribute(Globals.LOCALE_KEY,locale);