第一步:
建立国际化资源文件
比如在pack.java.resource包目录下建立一个中文和英文的国际化文件,
Messageresource_en.properties
label.id = ID label.name = Name label.sex = Sex label.message = Java Message
Messageresource_zh.properties
label.id = \u7F16\u53F7 label.name = \u59D3\u540D label.sex = \u6027\u522B label.message = \u540E\u53F0\u83B7\u53D6\u56FD\u9645\u5316
第二步:
在struts-config中配置
<!-- 国际化资源文件; --> <message-resources parameter="/pack/java/resource/Messageresource" />
第三步:
新建Action,本实例命名为LocalAResourceAction,具体代码如下:
public class LocalAResourceAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { String languge = request.getParameter("language"); //获取当前语言的国际化; Locale locale = request.getLocale(); System.out.println("默认的国际化语言:"+locale.getLanguage()+"_"+locale.getCountry()); //设置新的Locale对象; Locale newLocale = new Locale(languge,""); //重新覆盖session中国际化的对象; request.getSession(true).setAttribute(Globals.LOCALE_KEY, newLocale); System.out.println("重新设置的国际化语言:"+newLocale.getLanguage()); return mapping.findForward("success"); } }
第四步:
在struts-config.xml中配置action:
<action-mappings> <!-- LocalAResourceAction配置 --> <action path="/localAction" type="pack.java.action.LocalAResourceAction" scope="request" parameter="p"> <forward name="success" path="/beanTags.jsp"></forward> </action> </action-mappings>
第五步:
新建JSP页面,取名为beanTags.jsp,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="html" uri="/WEB-INF/struts-html.tld" %> <%@ taglib prefix="bean" uri="/WEB-INF/struts-bean.tld" %> <%@ taglib prefix="logic" uri="/WEB-INF/struts-logic.tld"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Struts1.2国际化实例</title> </head> <body> <p>bean:message标签的使用</p> <bean:message key="label.id" />:<br/> <bean:message key="label.name"/>:<br/> <!-- 国际化语言切换 --> <p>html:link标签的使用,国际化语言切换</p> <html:link action="localAction?language=zh" >中文</html:link><br/> <html:link action="localAction?language=en">英文</html:link> </body> </html>
最后测试,启动服务器,
打开测试页面,
测试结果:
-------------------------------------------------------------------------------------------
ID
Name
<!-- 国际化语言切换 -->
html:link标签的使用,国际化语言切换
-------------------------------------------------------------------------------------------
编号:
姓名:
<!-- 国际化语言切换 -->
html:link标签的使用,国际化语言切换