1.引言? 因為最近有個英國的項目要求中英文切換,又由于我們開發是用struts+hibernate的,所以我們就把原先做兩個版本的構思拋掉,就用struts的國際化處理方案。2.資料? 首先,我們要準備兩份配置文件中文和英文的? 中文:ApplicationResources_zh_CN.properties? 英文:ApplicationResources_en.properties? (千萬不要用默認的ApplicationResources.properties myeclipse自動生成,可能會不成功,我起先就是因為這個怎么都不行的,呵呵!)3.準備開始1)?ApplicationResources_zh_CN.properties的內容#zh_CNusername=純冰2)ApplicationResources_en.properties的內容#enusername=chunkyo3)一個action/*?* Generated by MyEclipse Struts?* Template path: templates/java/JavaClass.vtl?*/package com.lan.struts.action;
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;
import org.apache.struts.Globals;import java.util.Locale;
/** ?* MyEclipse Struts?* Creation date: 02-07-2007?* ?* XDoclet definition:?* @struts.action validate="true"?*/public class ChangeLanguageAction extends Action {?/*? * Generated Methods? */
?/** ? * Method execute? * @param mapping? * @param form? * @param request? * @param response? * @return ActionForward? */?public ActionForward execute(ActionMapping mapping, ActionForm form,???HttpServletRequest request, HttpServletResponse response) {??// TODO Auto-generated method stub??String lan=request.getParameter("lan");??if(lan.equals("1"))??{???request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.CHINA);??}??else if(lan.equals("0"))??{???request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.ENGLISH);??}??else??{???request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.CHINA);??}??return mapping.findForward("index");?}}4)一個頁面<%@ page language="java" pageEncoding="utf-8"%><%@ taglib uri="<%@ taglib uri="<%@ taglib uri=" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html locale="true">? <head>??? <html:base />??? ??? <title><bean:message key="username"/></title> ?<meta http-equiv="pragma" content="no-cache">?<meta http-equiv="cache-control" content="no-cache">?<meta http-equiv="expires" content="0">??? ?<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">?<meta http-equiv="description" content="This is my page">?<!--?<link rel="stylesheet" type="text/css" href="styles.css">?--> ? </head>? ? <body>??? <html:link page="/changeLanguage.do?lan=0">English</html:link>??? <html:link page="/changeLanguage.do?lan=1">Chinese</html:link>??? <bean:message key="username"/>? </body></html:html>4)配置文件(struts-config.xml)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " <struts-config>? <data-sources />? <form-beans />? <global-exceptions />? <global-forwards >??? <forward name="index" path="/index.jsp" /> ? </global-forwards> ? <action-mappings >??? <action path="/changeLanguage" type="com.lan.struts.action.ChangeLanguageAction" /> ? </action-mappings><message-resources parameter="com.lan.struts.ApplicationResources" /></struts-config> 5)結果?1。默認http://localhost:8080/lan/EnglishChinese 純冰2。英文http://localhost:8080/lan/changeLanguage.do?lan=0EnglishChinese chunkyo 3。中文http://localhost:8080/lan/changeLanguage.do?lan=1EnglishChinese 純冰 6)結論用struts做國際化處理 多國語言處理很方便 呵呵! posted on 2007-02-07 13:08 chunkyo 閱讀(3553) 評論(3) 編輯 收藏 所屬分類: openSource(struts&hibernate&spring等等)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html locale="true">? <head>??? <html:base />??? ??? <title><bean:message key="username"/></title>
?<meta http-equiv="pragma" content="no-cache">?<meta http-equiv="cache-control" content="no-cache">?<meta http-equiv="expires" content="0">??? ?<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">?<meta http-equiv="description" content="This is my page">?<!--?<link rel="stylesheet" type="text/css" href="styles.css">?-->
? </head>? ? <body>??? <html:link page="/changeLanguage.do?lan=0">English</html:link>??? <html:link page="/changeLanguage.do?lan=1">Chinese</html:link>??? <bean:message key="username"/>? </body></html:html>4)配置文件(struts-config.xml)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " <struts-config>? <data-sources />? <form-beans />? <global-exceptions />? <global-forwards >??? <forward name="index" path="/index.jsp" /> ? </global-forwards> ? <action-mappings >??? <action path="/changeLanguage" type="com.lan.struts.action.ChangeLanguageAction" /> ? </action-mappings><message-resources parameter="com.lan.struts.ApplicationResources" /></struts-config> 5)結果?1。默認http://localhost:8080/lan/EnglishChinese 純冰2。英文http://localhost:8080/lan/changeLanguage.do?lan=0EnglishChinese chunkyo 3。中文http://localhost:8080/lan/changeLanguage.do?lan=1EnglishChinese 純冰 6)結論用struts做國際化處理 多國語言處理很方便 呵呵! posted on 2007-02-07 13:08 chunkyo 閱讀(3553) 評論(3) 編輯 收藏 所屬分類: openSource(struts&hibernate&spring等等)
<struts-config>? <data-sources />? <form-beans />? <global-exceptions />? <global-forwards >??? <forward name="index" path="/index.jsp" />
? </global-forwards>
? <action-mappings >??? <action path="/changeLanguage" type="com.lan.struts.action.ChangeLanguageAction" />
? </action-mappings><message-resources parameter="com.lan.struts.ApplicationResources" /></struts-config>
5)結果?1。默認http://localhost:8080/lan/EnglishChinese 純冰2。英文http://localhost:8080/lan/changeLanguage.do?lan=0EnglishChinese chunkyo 3。中文http://localhost:8080/lan/changeLanguage.do?lan=1EnglishChinese 純冰 6)結論用struts做國際化處理 多國語言處理很方便 呵呵!