Jsp頁面在URL中傳遞參數出現亂碼的解決方法_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:揭秘全面提升JSP應用程序性能的七個方法
      方法一:在servlet的init()方法中緩存數據 當應用服務器初始化servlet實例之后,為客戶端請求提供服務之前,它會調用這個servlet的init()方法。在一個servlet的生命周期中,init()方法只會被調用一次。通過在init()方法中緩存一些靜態的數據或完成一些只需要

      解決方法:

      一、使用更改Tomcat的方法。
      這個方法簡單,但是需要改動的地方是服務器軟件級別的,如果稍微變動系統將無法正確轉碼,移植性不高。

      1、來到tomcat目錄,找到conf目錄下的server.xml問價,打開,找到<Connector>標簽,在最后添加URIEncoding=’GBK’,效果如下:


      <Connector 

      port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 

      enableLookups="false" redirectPort="8443" acceptCount="100" 

      debug="0" connectionTimeout="20000" 

      disableUploadTimeout="true" URIEncoding=″GBK″/> 

      <Connector

      port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

      enableLookups="false" redirectPort="8443" acceptCount="100"

      debug="0" connectionTimeout="20000"

      disableUploadTimeout="true" URIEncoding=″GBK″/>這種方法對get這個方法測試成功。

      2、在每個Jsp頁面添加如下代碼

      <%@ page pageEncoding=”gb2312″%> 

      <%@ page contentType=”text/html;charset=gb2312″%> 

      <%request.setCharacterEncoding(”gb2312″);%> 

      <%@ page pageEncoding=”gb2312″%>

      <%@ page contentType=”text/html;charset=gb2312″%>

      <%request.setCharacterEncoding(”gb2312″);%>

      編碼方式也可以改成GBK,支持繁體中文。重啟Tomcat,這一步很重要,否則可能看不到效果。

      這種方法對post測試成功。建議兩種同步使用。

      二、使用JSP的scriptLet


      <%=new String(elValue.getBytes("iso-8859-1"),"GBK")%> 

      <%=new String(elValue.getBytes("iso-8859-1"),"GBK")%>

      三、使用自定義JSTL

      這是我們的重點所在,這里要詳細說明.

      第一,編寫自定義標簽


      第二編寫tag文件


      第三部署tag文件


      第四使用吧.

      分享:三種jsp中頁面間傳值方法
      1.放入session,用request.setAttribute(key,varName);放入request.getAttribute(key);取出 2.用地址欄傳,就是在ip地址后+?變量=value,下一張頁面用request.getParameter(變量)

      來源:模板無憂//所屬分類:JSP教程/更新時間:2010-04-02
      相關JSP教程