struts2.0 国际化

  这个都是很久以前在别人那里看的,试用了下,整理出来。分以下几步进行:

 

1,struts.properties文件下 加入:

struts.custom.i18n.resources=globalMessages

globalMessages 是资源文件的名称。

2,新建两个资源文件:

globalMessages_en_US.properties

 

globalMessages_zh_CN.properties

 

在资源文件下,写入对应的key和value 中音文对应写好就可以了。

 

3,这里添加一个java类

import java.util.Hashtable;
import java.util.Locale;
import java.util.Map;

public class Locales {
    public Map<String, Locale> getLocales() {
        Map<String, Locale> locales =new Hashtable<String, Locale>(2);
        locales.put("English", Locale.US);
        locales.put("Chinese", Locale.CHINA);
        return locales;
    }
}

 

4,页面的中英文选项,增加一个jsp页面

<%@taglib prefix="s" uri="/struts-tags"%>
<script type="text/javascript">
<!--
    function langSelecter_onChanged() {
        document.langForm.submit();
    }
//-->
</script>
<s:set name="SESSION_LOCALE" value="#session['WW_TRANS_I18N_LOCALE']"/>
<s:bean id="locales" name="com.test.web.Locales"/>
<form action="<s:url includeParams="get" encode="true"/>" name="langForm" 
    style="margin:5px auto;">
 <s:select label="Language" 
        list="#locales.locales" listKey="value"    listValue="key"
        value="#SESSION_LOCALE == null ? locale : #SESSION_LOCALE"
        name="request_locale" id="langSelecter" 
        onchange="langSelecter_onChanged()" theme="simple"/>
</form>

需要注意的一点是 这里的  <s:bean 里的name 对应的类Locales 路径不要弄错了。

 

5,最后在首页引用就可以了。

<s:include value="LangSelector.jsp"/>

 

 

 

你可能感兴趣的:(JavaScript,bean,jsp,Web,struts)