asdtiang的博客 感謝blogjava提供的博客交流平臺

          struts2.1.8 action提交亂碼解決辦法

          Posted on 2010-04-15 10:33 asdtiang 閱讀(972) 評論(0)  編輯  收藏 所屬分類: java ee
          這個問題是2.1.6里的BUG,在2.1.8的時候解決了,文本框里的中文能正常提交:不過url中的param提交的是UTF-8編碼,中文是UTF-8編碼,英文還是英文。
          <s:url id="del" value="editView.action">
                <s:param name="name">
                 <s:property value="name" />        ///這里會提交UTF-8編碼
                </s:param>
           </s:url>
          記得以前好像寫過,不過不知道放哪里,今天用struts2.1.8+spring+hibernate做開發(fā)時,又遇到這個問題,寫出來吧,下次好找:
          頁面編碼設(shè)置成UTF-8,如何提交的中文為”青云山“,提交到action里變成了:   38738其實就是UTF-8編碼,自己寫了一個類進(jìn)行轉(zhuǎn)化一個就行了。
          public class MyConverter {

              
          private static MyConverter myConverter;

              
          private StringBuffer str;
              
          private char[] ch;

              
          private MyConverter() {

              }

              
          public static MyConverter getMyConverter() {

                  
          if (myConverter == null) {
                      myConverter 
          = new MyConverter();
                  }
                  
          return myConverter;

              }

              
          public String converter(String str3) {

                  
          if(str3==null){
                      
          return "";
                  }
                  str
          =new StringBuffer();
                  str.append(
          "");
                  ch
          =str3.toCharArray();
                  
          for (int i = 0; i < ch.length; i++) {
                      
                      
          if(ch[i]=='&'){
                          
          if(ch[i+1]=='#')
                          {                
                              str.append(Character.toChars(Integer.parseInt(
          new String(ch,i+2,5))));
                              i
          +=7;
                          }
                          
          else{
                              str.append(ch[i]);
                          }
                      }
                      
          else{
                          str.append(ch[i]);
                      }    
                  }
                  
          return str.toString();
              }
          }






          使用時,在action中,可能有中文提交的地方轉(zhuǎn)化一下就行了。
           MyConverter my = MyConverter.getMyConverter();
          this.userName = my.converter(this.userName);

          天蒼蒼,野茫茫,風(fēng)吹草底見牛羊

          posts - 80, comments - 24, trackbacks - 0, articles - 32

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網(wǎng)賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 东明县| 瓦房店市| 涿州市| 台东县| 滁州市| 水城县| 伽师县| 江城| 乌拉特后旗| 合川市| 凤凰县| 靖州| 土默特左旗| 无为县| 伊春市| 牙克石市| 玉山县| 平陆县| 关岭| 筠连县| 灌南县| 银川市| 湖北省| 北辰区| 固始县| 尼勒克县| 榕江县| 乳山市| 临泽县| 柳河县| 宜黄县| 吴川市| 克拉玛依市| 恩平市| 象州县| 德江县| 彭州市| 马关县| 巫溪县| 神农架林区| 百色市|