jfy3d(劍事)BLOG

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評(píng)論 :: 0 Trackbacks
          研究了幾天webwork2我的習(xí)慣首先關(guān)注中文問(wèn)題解決

          中文這方面webwork2比struts更容易解決  不用設(shè)置fitler過(guò)濾了不錯(cuò)
          當(dāng)然webwork比strust的優(yōu)勢(shì)不只是這些

           jsp里都設(shè)置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">

          有人說(shuō)不能加,加了反而亂碼,我就沒(méi)問(wèn)題第二

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

          上面做完之后就OK了 頁(yè)面?zhèn)髦?,?shù)據(jù)庫(kù)插入讀出都OK了

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

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

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

          struts里也可以這么做的

          這樣就不用在對(duì)資源文件進(jìn)行native2ascii了

          第三

          還有會(huì)亂碼的地方就是fileupload  上傳中文名的文件會(huì)遇到文件名亂碼問(wèn)題

          解決方法試在webwork.properties設(shè)置一下

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

          tomcat下中文解決方式和上面相同,不過(guò)還需要多加一個(gè)URIEncoding="GBK"
          位置在server.xml里解決url里有中文出現(xiàn)的亂碼
              <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) 評(píng)論(7)  編輯  收藏 所屬分類: webwork

          評(píng)論

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

          我不知道你有沒(méi)有了解那一句到底是在在甚么(詳細(xì)可以找 src.zip 或 sun 官網(wǎng))
          但那是相當(dāng)?shù)睦速M(fèi) cpu power, 也有機(jī)會(huì)讀錯(cuò)字的


          其實(shí)只要有一個(gè)比較好的 IDE 或 editor 去修改 *.properties
          就無(wú)需手動(dòng)執(zhí)行 native2ascii

            回復(fù)  更多評(píng)論
            

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

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

          我會(huì)選擇找出它讀取 properties/ResourceBundle 檔的部份, 加以修改
          而不是找出它顯示的部份修改  回復(fù)  更多評(píng)論
            

          # re: webwork2在weblogic下和tomcat下的中文問(wèn)題解決 2005-05-18 18:07 劍事
          同意 不過(guò)剛開(kāi)始改他沒(méi)改對(duì) 所以改了tag
          所以現(xiàn)在action里的getText()會(huì)亂碼  回復(fù)  更多評(píng)論
            

          # re: webwork2在weblogic下和tomcat下的中文問(wèn)題解決 2006-07-14 13:15 lqzq
          webwork.properties就放在哪個(gè)文件夾里面。  回復(fù)  更多評(píng)論
            

          # re: webwork2在weblogic下和tomcat下的中文問(wèn)題解決 2006-07-14 14:15 劍事
          @lqzq
          classes里  回復(fù)  更多評(píng)論
            

          # re: webwork2在weblogic下和tomcat下的中文問(wèn)題解決 2007-04-16 00:26 ecnu-sam
          form method = post  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 腾冲县| 嘉义县| 吐鲁番市| 环江| 靖安县| 四会市| 中卫市| 赤城县| 漳平市| 颍上县| 荥阳市| 凭祥市| 濮阳县| 怀远县| 民乐县| 苍梧县| 多伦县| 巴楚县| 桃源县| 大连市| 哈巴河县| 志丹县| 抚顺市| 大竹县| 河北区| 临江市| 嵊泗县| 湘阴县| 吉首市| 清水县| 左贡县| 乌恰县| 梁河县| 华坪县| 康定县| 封丘县| 临邑县| 诸城市| 木兰县| 广昌县| 吕梁市|