struts2 国际化
1、在struts.xml文件中的加入struts.custom.i18n.resources = globalMessages表示globalMessages为properties文件的文件名。程序会找到globalMessages开头的properties文件,进行读取,来实现国际化。
2、另一个方法写一个struts.properties文件把上面的一句话写进去。资源文件前缀名字为globalMessages,可以任意取。
3、在src目录下面建立国际化文件,名字必须为globalMessages_en_US,globalMessages_zh_CN等等。里面是一个键值对应的文件。en,zh为服务器系统的编码语言,US,CN为国家的简写。跟具体的操作系统相关,en_US代表美国英语,zh_CN代表中国中文一种资源文件的规定。
4、properties文件里面是一个键值对应的文件。如:aa = 中国 (zh_CN)aa = china (en_US)
5、在页面里面使用如:<s:textfield name="zjc" key="aa"></s:textfield>key 属性的aa为properties文件里面的前面的名字。后面是它的值.中文用户会展示到页面为“中国”。英文用户会展示到页面为“china”。
6、在struts2中如果想暂时改变浏览器session的默认的locale的值的话。可以为l=Locale.CHINA, l= locale.US; Action潮贾篡绐Context.getContext().setLocale(l);ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE", l);必须满足上面两个条件,否则不成立。在页面中写一个如: <s:a href="change?a=1">中文页面</s:a> <s:a href="change?a=2">英文页面</s:a>的请求,发送到action里面。