1.国际化一般通过消息资源文件读取。

globalMessages_en_US.properties 这个是英文

globalMessages_zh_CN.properties 这个是中文 格式一定要正确.一般是通过匹配浏览器的语言设置

2.那么如何在页面中使用国际化呢

(1):通过使用struts的标签<s:text name="i18n.title.key"/>

(2):通过使用key字段

<s:select id="choose" list="{'zh_CN','en_US'}"  value="local" key="i18n.select.key"></s:select>

资源文件的内容如下

struts.messages.invalid.token=isErr\!

i18n.title.key=i18nTitle

i18n.p1.message=place choose lauguage

i18n.select.key=choose

====================================

3.在后台编程式定义中英文

private String local;

public String execute() throws Exception {

// 取得当前的浏览器语言

local=ActionContext.getContext().getLocale().getLanguage();

if(local.equals("zh")){

local="zh_CN";

}else{

local="en_US";

}

System.out.println(local);

return SUCCESS;

}




if("zh_CN".equals(local)){

ActionContext.getContext().setLocale(Locale.SIMPLIFIED_CHINESE);

}else{

ActionContext.getContext().setLocale(Locale.US);

}

/*后台取国际化消息资源文件

*1.:<s:text name="i18n.p1.key"/>

*2.<s:select .. key="i18n.select.key">//前台通过标签取

*3.在ActionSupport中使用getText方法

*  */

System.out.println(this.getText("i18n.title.key"));


也可以通过sturts.properties设置浏览器语言

struts.locale=zh_CN