第一步:
建立国际化资源文件
比如在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标签的使用,国际化语言切换