posts - 32,  comments - 149,  trackbacks - 0

          1.引言
          ? 因?yàn)樽罱袀€英國的項(xiàng)目要求中英文切換,又由于我們開發(fā)是用struts+hibernate的,所以我們就把原先做兩個版本的構(gòu)思拋掉,就用struts的國際化處理方案。
          2.資料
          ? 首先,我們要準(zhǔn)備兩份配置文件中文和英文的
          ? 中文:ApplicationResources_zh_CN.properties
          ? 英文:ApplicationResources_en.properties? (千萬不要用默認(rèn)的ApplicationResources.properties myeclipse自動生成,可能會不成功,我起先就是因?yàn)檫@個怎么都不行的,呵呵!)
          3.準(zhǔn)備開始
          1)?ApplicationResources_zh_CN.properties的內(nèi)容
          #zh_CN
          username=純冰
          2)ApplicationResources_en.properties的內(nèi)容
          #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)結(jié)果
          ?1。默認(rèn)
          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)結(jié)論
          用struts做國際化處理 多國語言處理很方便 呵呵!

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

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

          這個博客主要是關(guān)于java技術(shù)和開源技術(shù),大家一起來進(jìn)步了!

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          文章分類

          收藏夾

          DotNet

          Java技術(shù)網(wǎng)站

          Linux VS Unix

          其他常去網(wǎng)站

          常光顧的BLOG

          文學(xué)類網(wǎng)站

          游戲類網(wǎng)站

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 196875
          • 排名 - 293

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 开化县| 德钦县| 临沧市| 梁平县| 二连浩特市| 和林格尔县| 安阳市| 蓬安县| 太和县| 闽侯县| 青铜峡市| 古交市| 忻城县| 安达市| 论坛| 平江县| 黑河市| 恩施市| 阜宁县| 贡嘎县| 北票市| 宜阳县| 尼勒克县| 泰兴市| 湟源县| 抚州市| 高州市| 房山区| 黄骅市| 营口市| 宁都县| 湖口县| 思茅市| 稻城县| 扶绥县| 肥东县| 成安县| 冀州市| 镇远县| 曲阜市| 手游|