这个都是很久以前在别人那里看的,试用了下,整理出来。分以下几步进行:
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"/>