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做開發時,又遇到這個問題,寫出來吧,下次好找:
          頁面編碼設置成UTF-8,如何提交的中文為”青云山“,提交到action里變成了:   38738其實就是UTF-8編碼,自己寫了一個類進行轉化一個就行了。
          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中,可能有中文提交的地方轉化一下就行了。
           MyConverter my = MyConverter.getMyConverter();
          this.userName = my.converter(this.userName);

          天蒼蒼,野茫茫,風吹草底見牛羊

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

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 江孜县| 商洛市| 平舆县| 丹江口市| 伊通| 昌吉市| 天峨县| 奈曼旗| 宜城市| 青海省| 木兰县| 平江县| 岳阳县| 宁强县| 保山市| 东兴市| 新蔡县| 开封市| 海林市| 东丰县| 台北市| 万山特区| 周口市| 龙岩市| 班玛县| 巫溪县| 巴林左旗| 静海县| 丹凤县| 确山县| 台中县| 鄂州市| 周至县| 上杭县| 株洲市| 民乐县| 土默特右旗| 吉首市| 孟连| 北宁市| 张家港市|