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