呆呆向前沖的blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            78 隨筆 :: 43 文章 :: 5 評論 :: 74 Trackbacks

          步驟
          1 資源文件
               添加資源文件:JB里默認的資源文件名稱為ApplicationResources.properties。需要添加和語言地區對應的資源文件。如:ApplicationResources_zh_CN.properties、ApplicationResources_en_US.properties
                注意:命名一定要注意后綴的正確。否則struts不能自動加載

                轉換編碼:將資源文件內容轉換為unicode編碼。以中文資源文件轉換為例,命令如下:            

          native2ascii -encoding GBK src/zh_cn.properties src/ApplicationResources_zh_CN.properties
                      注:zh_cn.properties文件是暫存原始內容的文件

                配置資源文件到struts-config.xml中:在配置文件中加入如下資源文件引用

          <message-resources parameter="ApplicationResources" />

          2 設置JSP編碼為UTF-8

          3 切換當前Locale
                Struts是根據Session中存儲的關鍵字為org.apache.struts.action.LOCALE的Locale對象判斷當前的Locale,
          并自動加載相應的資源文件。
                即如果當前locale是zh CN,那么會自動加載 ApplicationResources_zh_CN.properties。所以如果要顯示多語言版本,必須切換當前locale。例子如下:
                切換Locale的Action代碼:

          public class SetLocaleAction extends Action {
            
          public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest req, HttpServletResponse httpServletResponse) {
              String langFlag 
          = req.getParameter("lang");
              String[] lang 
          = langFlag.split("_");
              Locale locale 
          = new Locale(lang[0],lang[1]);
              HttpSession session 
          = req.getSession(true);
              session.setAttribute(
          "org.apache.struts.action.LOCALE",locale);
              
          return actionMapping.findForward("forward");
            }

          }

                頁面文件中調用該Action的鏈接:

          <html:link action="setLocale.do?lang=zh_CN">chinese</html:link>
          <html:link action="setLocale.do?lang=en_US">America</html:link>

          不過對于Java中的編碼問題,理解的還不透徹。比如中文字符在頁面之間的傳遞問題。如何保證能正確的接收各種語言的輸入。

          posted on 2005-08-28 03:34 呆呆向前沖的blog 閱讀(1311) 評論(0)  編輯  收藏 所屬分類: 工作:Java技術
          主站蜘蛛池模板: 增城市| 东乌珠穆沁旗| 新津县| 明星| 长顺县| 正蓝旗| 乌兰察布市| 湟源县| 泾源县| 永州市| 宣城市| 深泽县| 昂仁县| 电白县| 大连市| 来宾市| 进贤县| 固安县| 蒲江县| 通辽市| 那坡县| 梁河县| 台中县| 新昌县| 黔西县| 彭阳县| 长春市| 北碚区| 昭通市| 商洛市| 道真| 科尔| 鄂尔多斯市| 北碚区| 江北区| 潜山县| 怀来县| 曲松县| 博爱县| 井陉县| 西畴县|