<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    StevenBot-Saltsam

    眼睛能裝下世界,為何卻裝不下眼淚? 一只風箏一輩子只為一根線冒險。 那不是一場游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進夢鄉? 那不是一個夢境,為何你的溫柔私語,總是不經意的響起?

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    datas link

    OSChinal Sources codes Library

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    Struts1.2里提交中文表單到ActionForm后的亂碼問題

     由于Struts框架直接把表單數據發送給了ActionForm,所以這里面沒有對HttpRequestServlet進行SetCharacterEncoding,所以默認是按照ISO-8859-1(參見Tomcat 源代碼中的org.apache.catalina.connector.HttpRequestBase中的protected void parseParameters()方法),

        解決的方法,就是在表單提交到ActionForm之前對request進行編碼。
    第一種方法,就是寫一個過濾器,對所有請求進行過濾

    過濾器代碼:


    package com.first.struts.filters;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;

    public class SetCharacterEncodingFilter implements Filter {

    private String encoding;
    private FilterConfig filterConfig = null;

    public void destroy() {
      this.encoding = null;
      this.filterConfig = null;

    }

    public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain chain) throws IOException, ServletException {
      request.setCharacterEncoding(this.encoding);
      chain.doFilter(request, response);
    }

    public void init(FilterConfig filterConfig) throws ServletException {
      this.encoding = filterConfig.getInitParameter("encoding");
    }

    }



    配置文件web.xml


      <filter>
      <filter-name>Set Character Encoding</filter-name>
      <filter-class>com.first.struts.filters.SetCharacterEncodingFilter</filter-class>
      <init-param>
      <param-name>encoding</param-name>
      <param-value>GBK</param-value>
      </init-param>
    </filter>

    <filter-mapping>
      <filter-name>Set Character Encoding</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
      </filter-mapping>




    第二種方法是替換默認的控制器org.apache.struts.action.ActionServlet
    子類代碼:
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionServlet;

    public class SetEncodingActionServlet extends ActionServlet {
    protected void process(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
      // TODO Auto-generated method stub
      String encoding = getInitParameter("encoding");
      request.setCharacterEncoding(encoding);
      super.process(request, response);
    }
    }


    配置文件web.xml
    <servlet>
        <servlet-name>testAction</servlet-name>
        <servlet-class>jp.co.ricoh.gtis.others.profile.controllers.SetEncodingActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>Shift_JIS</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
      </servlet>

      <servlet-mapping>
        <servlet-name>testAction</servlet-name>
        <url-pattern>*.testdo</url-pattern>
      </servlet-mapping>
    此例,凡是通過*.testdo來請求的數據,都會經過參數encoding設定的值來編碼

    posted on 2011-10-07 18:06 Steven_bot 閱讀(1231) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 波多野结衣在线免费观看| 91香焦国产线观看看免费| 亚洲av综合日韩| 亚洲欧美成人av在线观看| 久久无码av亚洲精品色午夜| 一级毛片高清免费播放| 最近免费中文字幕mv电影| 亚洲丝袜美腿视频| 亚洲色图黄色小说| 午夜亚洲乱码伦小说区69堂| a级黄色毛片免费播放视频| 免费看黄视频网站| 亚洲精品无码久久久久| 亚洲欧美综合精品成人导航| 国产精品视_精品国产免费| 九月丁香婷婷亚洲综合色| 中文字幕无码精品亚洲资源网久久 | 国产免费久久精品99re丫y| 国产一区二区三区在线免费| 亚洲网站免费观看| 永久免费精品影视网站| 97人伦色伦成人免费视频| 亚洲图片在线观看| 永久免费av无码不卡在线观看| 亚洲乱理伦片在线观看中字| 亚洲Av无码乱码在线znlu| 亚洲乱码在线播放| 久热免费在线视频| 亚洲?v女人的天堂在线观看 | 亚洲老熟女五十路老熟女bbw | 久久精品私人影院免费看| 亚洲国产午夜电影在线入口| 日韩一区二区在线免费观看 | 亚洲免费在线视频播放| 亚洲成AV人片一区二区| 精品久久8x国产免费观看| 久久精品亚洲日本波多野结衣| 国产亚洲大尺度无码无码专线| 免费的黄色的网站| 亚洲精品久久久www| 国产精品亚洲小说专区|