posts - 32,  comments - 149,  trackbacks - 0

          1.引言
          ? 因為最近有個英國的項目要求中英文切換,又由于我們開發是用struts+hibernate的,所以我們就把原先做兩個版本的構思拋掉,就用struts的國際化處理方案。
          2.資料
          ? 首先,我們要準備兩份配置文件中文和英文的
          ? 中文:ApplicationResources_zh_CN.properties
          ? 英文:ApplicationResources_en.properties? (千萬不要用默認的ApplicationResources.properties myeclipse自動生成,可能會不成功,我起先就是因為這個怎么都不行的,呵呵!)
          3.準備開始
          1)?ApplicationResources_zh_CN.properties的內容
          #zh_CN
          username=純冰
          2)ApplicationResources_en.properties的內容
          #en
          username=chunkyo
          3)一個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=0
          EnglishChinese chunkyo
          3。中文
          http://localhost:8080/lan/changeLanguage.do?lan=1
          EnglishChinese 純冰
          6)結論
          用struts做國際化處理 多國語言處理很方便 呵呵!

          posted on 2007-02-07 13:08 chunkyo 閱讀(3554) 評論(3)  編輯  收藏 所屬分類: openSource(struts&hibernate&spring等等)

          FeedBack:
          # re: struts多國語言國際化處理(現以中文英文切換為例)
          2007-02-08 18:57 | keith
          當你使用tiles來組裝不同JSP頁面時,你就發現不那么好用了。有時候只有部分頁面切換了,運行不穩定。  回復  更多評論
            
          # re: struts多國語言國際化處理(現以中文英文切換為例)[未登錄]
          2007-02-12 01:57 | chunkyo
          沒有啊,我現在就一直再用的 沒感覺不好用的,最近在做一個交友網站的,
          英國方面要的,所以得有中英文切換,現在運行還行 沒出現你說的!  回復  更多評論
            
          # re: struts多國語言國際化處理(現以中文英文切換為例)[未登錄]
          2007-11-29 16:27 | jeff
          請問一下,你在新建ApplicationResources_zh_CN.properties文件的時候,文件編碼改為了什么。是UTF-8嗎  回復  更多評論
            
          <2007年2月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728123
          45678910

          這個博客主要是關于java技術和開源技術,大家一起來進步了!

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          文章分類

          收藏夾

          DotNet

          Java技術網站

          Linux VS Unix

          其他常去網站

          常光顧的BLOG

          文學類網站

          游戲類網站

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 196844
          • 排名 - 293

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 日土县| 德令哈市| 科技| 淮南市| 景德镇市| 扎赉特旗| 安顺市| 璧山县| 婺源县| 吉安市| 锦州市| 德江县| 东山县| 读书| 云林县| 阳信县| 兴业县| 高州市| 乌海市| 乐业县| 奎屯市| 梨树县| 垫江县| 思茅市| 木里| 伽师县| 临湘市| 忻城县| 洛川县| 措美县| 西畴县| 东方市| 浦北县| 乐安县| 尤溪县| 娱乐| 阜康市| 丰顺县| 分宜县| 伊宁市| 龙门县|