jfy3d(劍事)BLOG

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評(píng)論 :: 0 Trackbacks

          native2ascii
          用這個(gè)命令轉(zhuǎn)換我覺(jué)得不方便 不知?jiǎng)e人如何 呵呵

          改頁(yè)面8859_1(不能是iso-8859-1)可以不用native2ascii轉(zhuǎn)換ApplicationResources.properties
          可是沒(méi)頁(yè)都要改啊8859_1也很麻煩

          所以只好找struts本身來(lái)解決了呵呵

          *不過(guò)這個(gè)方法只適合小應(yīng)用,不需要多國(guó)語(yǔ)言的*

          struts.jar

          org.apache.struts.taglib.bean.MessageTag類(lèi)


          找到doStartTag()方法

          里面有行ResponseUtils.write(super.pageContext, message);

          在這行上面加上一句 如下

          ??????? try
          ??????? {
          ??????????? message = new String(message.getBytes("iso-8859-1"), "gb2312");
          ??????? }
          ??????? catch(Exception exception) { }

          ??????? ResponseUtils.write(super.pageContext, message);


          這樣就OK了

          <%@ page contentType="text/html; charset=gb2312" language="java" %>
          要用gb2312

          posted on 2005-05-12 00:21 劍事 閱讀(5934) 評(píng)論(8)  編輯  收藏 所屬分類(lèi): struts

          評(píng)論

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2005-05-12 09:18 femto
          還行了,習(xí)慣了。方正java挺傻的  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2005-12-15 19:18 qq:9557040
          這樣不利于多國(guó)化,本來(lái)ApplicationResources.properties就是為了多國(guó)語(yǔ)言設(shè)計(jì)的,這樣做反而弄巧成拙了!  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2006-03-02 14:21 天天累
          朋友,用你的方法解決了中文顯示問(wèn)題。可是通過(guò)formbean里validate方法里出錯(cuò)提示的中文沒(méi)有辦法解決。代碼如下:
          public ActionErrors validate(ActionMapping mapping,
          HttpServletRequest request) {
          ActionErrors errors = new ActionErrors();
          Locale locale = (Locale) request.getLocale();
          MessageResources messages = servlet.getResources();
          String usernameLabel = messages.getMessage(locale, "label.username");
          String passwordLabel = messages.getMessage(locale, "label.password");
          if (username == null || username.equals("")) {
          errors.add("username", new ActionError("errors.required", usernameLabel));
          }

          if (password == null || password.equals("")) {
          errors.add("password", new ActionError("errors.required", passwordLabel));
          }

          ApplicationResources.properties文件為:
          label.username=用戶(hù)名
          label.password=密碼
          errors.required={0} 不能為空

          提示出來(lái)的中文信息都是"?????"請(qǐng)問(wèn)該怎么解決呢?郁悶中  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2006-03-02 14:41 劍事
          如果你用eclipse的話 把ApplicationResources.properties文件編碼改成ISO就可以了
          不需要我上面的方法

          我上面是改的標(biāo)記庫(kù) 你這個(gè)不通過(guò)標(biāo)記庫(kù)讀 就需要Resources地方修改了
          也就是ApplicationResources.properties第一個(gè)讀取類(lèi)  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2006-03-02 16:34 天天累
          我用的就是eclipse。ISO指的是ISO-8859-1吧。把ApplicationResources.properties改成ISO-88591-1以后還是不行啊,還是亂碼!您說(shuō)的另一種方法改第一讀取ApplicationResources.properties類(lèi),應(yīng)該怎么改阿?是改java.util.ResourceBundle這個(gè)類(lèi)吧
            回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2006-03-02 20:58 劍事
          ResourceBundle對(duì) 從這地方讀出來(lái)后轉(zhuǎn)  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2006-05-19 01:07 蜘蛛
          朋友,
          沒(méi)有用Poperties Editor 這個(gè)插件吧,
          它eclipse,jbuilder插件,可以直接編輯中文,保存就中文件就變成unicode編碼了,不是很麻煩的,
          不然你自己也可以開(kāi)發(fā)出一個(gè)插件解決一下這個(gè)問(wèn)題呀,沒(méi)有什么大不了的  回復(fù)  更多評(píng)論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個(gè)方法 2008-07-07 21:21 destimarve
          直接用eclipse插件ResourceBundle Editor一切都搞定!  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 高邮市| 美姑县| 三亚市| 承德市| 桑植县| 洛隆县| 滦平县| 南皮县| 延安市| 昌吉市| 三穗县| 阳新县| 清河县| 阳原县| 天等县| 准格尔旗| 卢龙县| 龙川县| 阜宁县| 和田市| 嵊泗县| 祁连县| 东至县| 唐海县| 汉川市| 通渭县| 闵行区| 桂东县| 辽宁省| 平和县| 江津市| 洛川县| 司法| 石林| 固安县| 麻栗坡县| 裕民县| 博罗县| 东明县| 灵石县| 苗栗县|