第一步:

 

建立国际化资源文件

比如在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标签的使用,国际化语言切换

中文   //点击中文
英文