jfy3d(劍事)BLOG

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評論 :: 0 Trackbacks

          native2ascii
          用這個命令轉換我覺得不方便 不知別人如何 呵呵

          改頁面8859_1(不能是iso-8859-1)可以不用native2ascii轉換ApplicationResources.properties
          可是沒頁都要改啊8859_1也很麻煩

          所以只好找struts本身來解決了呵呵

          *不過這個方法只適合小應用,不需要多國語言的*

          struts.jar

          org.apache.struts.taglib.bean.MessageTag類


          找到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 劍事 閱讀(5935) 評論(8)  編輯  收藏 所屬分類: struts

          評論

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

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個方法 2005-12-15 19:18 qq:9557040
          這樣不利于多國化,本來ApplicationResources.properties就是為了多國語言設計的,這樣做反而弄巧成拙了!  回復  更多評論
            

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個方法 2006-03-02 14:21 天天累
          朋友,用你的方法解決了中文顯示問題。可是通過formbean里validate方法里出錯提示的中文沒有辦法解決。代碼如下:
          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=用戶名
          label.password=密碼
          errors.required={0} 不能為空

          提示出來的中文信息都是"?????"請問該怎么解決呢?郁悶中  回復  更多評論
            

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

          我上面是改的標記庫 你這個不通過標記庫讀 就需要Resources地方修改了
          也就是ApplicationResources.properties第一個讀取類  回復  更多評論
            

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

          # re: 修改struts源碼解決ApplicationResources.properties里不能直接用中文的一個方法 2006-03-02 20:58 劍事
          ResourceBundle對 從這地方讀出來后轉  回復  更多評論
            

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

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

          主站蜘蛛池模板: 遂川县| 武乡县| 衢州市| 平原县| 武功县| 鸡东县| 广宁县| 潼关县| 台湾省| 扎赉特旗| 龙岩市| 荆门市| 曲阳县| 乡宁县| 合作市| 都匀市| 义乌市| 长寿区| 鸡西市| 荔浦县| 赤城县| 南康市| 徐闻县| 民勤县| 封丘县| 庆阳市| 深州市| 鄢陵县| 增城市| 桑植县| 迭部县| 成安县| 襄垣县| 霍林郭勒市| 庄浪县| 苍溪县| 仙游县| 乌拉特后旗| 固镇县| 繁峙县| 丰原市|