呆呆向前沖的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 閱讀(1312) 評論(0)  編輯  收藏 所屬分類: 工作:Java技術
          主站蜘蛛池模板: 双柏县| 河源市| 安化县| 政和县| 天峻县| 奈曼旗| 天柱县| 内江市| 论坛| 温宿县| 壶关县| 蒙城县| 吴桥县| 凤城市| 靖远县| 新源县| 宜都市| 淄博市| 集贤县| 和田市| 南岸区| 泰和县| 剑河县| 江西省| 高台县| 辉县市| 永善县| 璧山县| 崇礼县| 吴江市| 合川市| 辽阳县| 赣州市| 翁源县| 彩票| 伊宁市| 兴和县| 邯郸县| 潞城市| 无极县| 甘泉县|