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

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

          Posted on 2010-04-15 10:33 asdtiang 閱讀(968) 評論(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其實(shí)就是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
          點(diǎn)擊廣告網(wǎng)賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 万年县| 尼勒克县| 泾阳县| 新和县| 衡水市| 宝应县| 长乐市| 建德市| 衡山县| 固镇县| 巨鹿县| 岑巩县| 福鼎市| 辽宁省| 阿拉善左旗| 安远县| 深水埗区| 遵义市| 无极县| 涪陵区| 大洼县| 株洲市| 巨鹿县| 横峰县| 吴忠市| 桐乡市| 申扎县| 青海省| 康平县| 宿迁市| 洛宁县| 十堰市| 太康县| 武隆县| 陆川县| 孟州市| 六安市| 洪洞县| 右玉县| 天祝| 日喀则市|