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

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

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

    小方的Java博客

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      27 隨筆 :: 17 文章 :: 115 評論 :: 0 Trackbacks
    問題提出:看了不少文章處理中文,比如:在 jsp里寫
    //?傳統(tǒng)方式?
    <%@?page?contentType="text/html;?charset=gb2312"?%>?
    <html>?
    <body>?
    <form?method=post?action=test.jsp>?
    <input?type=text?name=your_name>?
    </form>?
    <%=?new?String(request.getParameter("your_name").getBytes("8859_1"),?"GB2312")?%>?
    </body>?
    </html>?

    //?新的方式?
    <%@?page?contentType="text/html;?charset=gb2312"?%>?
    <%?request.setCharacterEncoding("GB2312");?%>?
    <html>?
    <body>?
    <form?method=post?action=test.jsp>?
    <input?type=text?name=your_name>?
    </form>?
    <%=?request.getParameter("your_name")?%>?
    </body>?
    </html>?
    那是相當(dāng)不好的方法,現(xiàn)在介紹一個朋友教我的方法:

    問題解決方法:
    步驟1:先寫一個servlet? EncodingFilter.java
    ?1import?javax.servlet.FilterChain;
    ?2import?javax.servlet.ServletRequest;
    ?3import?javax.servlet.ServletResponse;
    ?4import?java.io.IOException;
    ?5import?javax.servlet.Filter;
    ?6import?javax.servlet.http.HttpServletRequest;
    ?7import?javax.servlet.ServletException;
    ?8import?javax.servlet.FilterConfig;
    ?9
    10public?class?EncodingFilter?implements?Filter?{
    11
    12????private?String?targetEncoding?=?"gb2312";
    13????protected?FilterConfig?filterConfig;
    14
    15????public?void?init(FilterConfig?config)?throws?ServletException?{
    16????????this.filterConfig?=?config;
    17????}

    18
    19????public?void?doFilter(
    20????????ServletRequest?srequest,
    21????????ServletResponse?sresponse,
    22????????FilterChain?chain)
    23????????throws?IOException,?ServletException?{
    24
    25????????HttpServletRequest?request?=?(HttpServletRequest)?srequest;
    26????????request.setCharacterEncoding(targetEncoding);?//把請求用指定的方式編碼
    27????????//?把處理發(fā)送到下一個過濾器
    28????????chain.doFilter(srequest,?sresponse);
    29????}

    30
    31????public?void?destroy()?{
    32????????this.filterConfig?=?null;
    33????}

    34
    35????public?void?setFilterConfig(final?FilterConfig?filterConfig)?{
    36????????this.filterConfig?=?filterConfig;
    37????}

    38}

    39

    步驟2:在web.xml里這樣寫
    <filter>
    ????????
    <filter-name>EncodingFilter</filter-name>
    ????????
    <display-name>EncodingFilter</display-name>
    ????????
    <filter-class>com.itthinker.payroll.common.EncodingFilter</filter-class>
    ????
    </filter>
    ????
    <filter-mapping>
    ????????
    <filter-name>EncodingFilter</filter-name>
    ????????
    <url-pattern>/*</url-pattern>
    ????
    </filter-mapping>

    總結(jié):
    這樣的話,任何映射地址全部會先加載EncodingFilter,中文處理就搞定了,不用那么麻煩在每個jsp文件寫那么多重復(fù)代碼了,很好地做到了,代碼可復(fù)用性。當(dāng)然?page?contentType="text/html;?charset=gb2312"
    還是要的

    posted on 2006-06-08 17:44 方佳瑋 閱讀(490) 評論(4)  編輯  收藏 所屬分類: 其他技術(shù)

    評論

    # re: 什么才是最好處理中文方法 2006-06-08 21:02 thinkbase
    GB2312 已經(jīng)過時來, 推薦了解一下什么叫做 UTF-8  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法 2006-06-08 21:50 方佳瑋
    好的,謝謝,我是新手,成長中  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法[未登錄] 2007-02-09 12:26 xmlspy
    還有一個重要的
    那個filter一定要在web.xml配置文件中第一位,否則...... 哈哈,你就折騰吧  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法 2007-02-09 22:02 方佳瑋
    多謝樓上提醒  回復(fù)  更多評論
      

    主站蜘蛛池模板: 免费无码黄网站在线看| 爱情岛亚洲论坛在线观看 | 亚洲伊人精品综合在合线| 香蕉成人免费看片视频app下载| 亚洲午夜国产精品无码老牛影视 | 国产黄色片在线免费观看| 亚洲成在人线在线播放无码| 毛片免费观看视频| 在线观看亚洲视频| 久久国产成人亚洲精品影院 | 日韩亚洲变态另类中文| 在线观看免费黄网站| 亚洲不卡中文字幕无码| 99久久综合精品免费| 亚洲一区欧洲一区| 国产免费小视频在线观看| j8又粗又长又硬又爽免费视频| 中文字幕久久亚洲一区| 日韩中文字幕免费视频| 亚洲人成免费电影| 日本免费v片一二三区| 国产精品永久免费视频| 久久精品国产亚洲av麻豆| 日本免费网址大全在线观看| 亚洲精华国产精华精华液网站| 亚洲免费日韩无码系列| 人妻无码一区二区三区免费| 亚洲人成欧美中文字幕| 久久久久亚洲AV成人网| 97性无码区免费| 人体大胆做受免费视频| 久久精品亚洲中文字幕无码麻豆| 成人爽A毛片免费看| www在线观看播放免费视频日本| 久久久久亚洲AV无码永不| 日韩一区二区免费视频| 久久久国产精品无码免费专区| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲视频在线精品| 在线观看特色大片免费视频| 国产免费一级高清淫曰本片|