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教程