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 劍事 閱讀(5934) 評論(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一切都搞定!  回復  更多評論
            

          主站蜘蛛池模板: 潞城市| 遂平县| 固镇县| 泸溪县| 宁武县| 富顺县| 绵竹市| 聊城市| 武汉市| 磴口县| 鹤壁市| 虹口区| 收藏| 丰城市| 德化县| 安新县| 信宜市| 垣曲县| 新巴尔虎左旗| 屏山县| 湖南省| 南溪县| 敖汉旗| 天全县| 扶余县| 广平县| 新郑市| 漾濞| 长汀县| 岳池县| 定结县| 金平| 太保市| 察哈| 栾城县| 阿拉尔市| 古浪县| 马尔康县| 瓮安县| 昆山市| 邢台县|