<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 免费大片av手机看片| a毛片在线免费观看| 亚洲精品456播放| 免费精品一区二区三区第35| 亚洲天堂福利视频| 国产jizzjizz视频免费看| 中文在线免费不卡视频| 91亚洲自偷在线观看国产馆| 又大又粗又爽a级毛片免费看| 久久精品电影免费动漫| 亚洲熟妇AV一区二区三区浪潮| 久久久久亚洲精品无码网址| 91麻豆国产免费观看| 国产精品亚洲专一区二区三区| 亚洲三级电影网站| 国产精品自在自线免费观看| 91精品全国免费观看含羞草| 久久综合亚洲色hezyo| 亚洲国产精品久久久久| 亚洲AV无码成人精品区大在线| 99精品视频在线免费观看| 男人和女人高潮免费网站| 亚洲综合精品香蕉久久网97| 国产成人免费a在线资源| 久久精品人成免费| 一级毛片免费观看不收费| 亚洲av日韩av综合| 亚洲国产精品VA在线观看麻豆| 四虎永久精品免费观看| 成人免费激情视频| 国产无遮挡无码视频免费软件| 国产成人亚洲精品电影| 91在线亚洲综合在线| 亚洲黄色免费电影| 精品亚洲永久免费精品| 亚洲最大av无码网址| 白白国产永久免费视频| 两性刺激生活片免费视频| 日韩av无码久久精品免费| 中文字幕免费在线看线人动作大片| 亚洲AV无码专区在线厂|