jfy3d(劍事)BLOG

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評論 :: 0 Trackbacks
          研究了幾天webwork2我的習慣首先關注中文問題解決

          中文這方面webwork2比struts更容易解決  不用設置fitler過濾了不錯
          當然webwork比strust的優勢不只是這些

           jsp里都設置gb2312就可以第一

          <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">

          有人說不能加,加了反而亂碼,我就沒問題第二

          在webwork.properties里加上webwork.locale=zh_CNwebwork.i18n.encoding = GB2312

          上面做完之后就OK了 頁面傳值,數據庫插入讀出都OK了

          不過還有需要解決的地方 用過struts的都知道<bean:message>是亂碼的webwork也一樣,當然這是java程序讀文本文件里的中文就是亂碼的 解決方法我以前知道的是用native2ascii來轉換資源文件,不過轉后在編輯就不認識了,修改依次轉依次麻煩啊所以我還是選擇修改webwork textTag的源碼 ,很簡單的

          找到TextTag.java 然后找到下面這段

          if(msg != null) {           
                  try{
                        msg = new String(msg.getBytes("iso-8859-1"));//加入這行就OK了,這樣會影響到國際化,(可以判斷如果不是zh_CN就不執行轉碼,我還沒試過)               
                      if(getId() == null)               
                      {                   
                               pageContext.getOut().write(msg);                
                      } else  {           
                               stack.getContext().put(getId(), msg);               
                      }           
                 } catch(IOException e) { 
                         throw new JspException(e);           
                }       
          }

          struts里也可以這么做的

          這樣就不用在對資源文件進行native2ascii了

          第三

          還有會亂碼的地方就是fileupload  上傳中文名的文件會遇到文件名亂碼問題

          解決方法試在webwork.properties設置一下

          webwork.multipart.parser=pell    //不要用cos

          tomcat下中文解決方式和上面相同,不過還需要多加一個URIEncoding="GBK"
          位置在server.xml里解決url里有中文出現的亂碼
              <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
          port="80"               minProcessors="5" maxProcessors="75"
                         enableLookups="true" redirectPort="8443"
                         acceptCount="100" debug="0" connectionTimeout="20000"
                         useURIValidationHack="false" disableUploadTimeout="true" URIEncoding="GBK"/>

          OK 目前我遇到的就這些了
          posted on 2005-05-18 09:24 劍事 閱讀(2725) 評論(7)  編輯  收藏 所屬分類: webwork

          評論

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2005-05-18 11:21 Dennis
          你這樣是會大量重復運行
          new String(msg.getBytes("iso-8859-1"))

          我不知道你有沒有了解那一句到底是在在甚么(詳細可以找 src.zip 或 sun 官網)
          但那是相當的浪費 cpu power, 也有機會讀錯字的


          其實只要有一個比較好的 IDE 或 editor 去修改 *.properties
          就無需手動執行 native2ascii

            回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2005-05-18 11:58 劍事
          new String(msg.getBytes("iso-8859-1"))
          當然這個肯定會影響到速度
          屬于根據情況選用的 一般做小網站我會這么用
          便于在無IDE下修改 一般不在公司或一些不方便的情況下登錄服務起上只修改,或讓客戶自己修改,方便自然要付出代價  回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2005-05-18 16:37 Dennis
          如果是以支持非 ascii charset 的 *.properties 為前提

          我會選擇找出它讀取 properties/ResourceBundle 檔的部份, 加以修改
          而不是找出它顯示的部份修改  回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2005-05-18 18:07 劍事
          同意 不過剛開始改他沒改對 所以改了tag
          所以現在action里的getText()會亂碼  回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2006-07-14 13:15 lqzq
          webwork.properties就放在哪個文件夾里面。  回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2006-07-14 14:15 劍事
          @lqzq
          classes里  回復  更多評論
            

          # re: webwork2在weblogic下和tomcat下的中文問題解決 2007-04-16 00:26 ecnu-sam
          form method = post  回復  更多評論
            

          主站蜘蛛池模板: 仙游县| 长春市| 尼木县| 茌平县| 和林格尔县| 炎陵县| 仪陇县| 曲靖市| 清涧县| 翁源县| 瑞昌市| 忻州市| 平武县| 永吉县| 盐边县| 昌图县| 江永县| 浙江省| 镇康县| 娱乐| 奉新县| 台南市| 仙游县| 英山县| 宜兰市| 阿尔山市| 徐闻县| 临武县| 青河县| 邳州市| 常熟市| 泗洪县| 霞浦县| 金湖县| 四子王旗| 体育| 朔州市| 陇西县| 景洪市| 余江县| 大埔区|