两个jsp页面之间通过标签传输数据是出现乱码问题

两个jsp页面之间通过标签传输数据是出现乱码问题

问题描述:

//这个是第一个jsp












/c:url
详细
//这个是第二个jsp
商品名:${param.gname}

商品价格:${param.gprice}

所属类别:${param.ctype}

商品图片:

但是在网页上却是显示的是
商品名:爱国者mp3

商品价格:0.01

所属类别:男士休闲
但是我的第二个页面的地址栏传过去的值却是这个
gname=%E7%88%B1%E5%9B%BD%E8%80%85mp3&gprice=0.01&gpic=004.png&gremark=%E7%88%B1%E5%9B%BD%E8%80%85%E5%93%81%E7%89%8C&gxremark=%E5%8F%AF%E4%BB%A5%E8%BF%9E%E7%BB%AD%E5%90%AC%E6%AD%8Cn%E5%B0%8F%E6%97%B6&gdate=2013-04-17+21%3a39%3a47.743&giscommend=true&gisopen=true&cid=1&ctype=%E7%94%B7%E5%A3%AB%E4%BC%91%E9%97%B2
求这个问题怎么解决啊

因为是get 所以光加过滤器是无效的 get方式默认就是这种情况 你可以参考如下文章解决 和servlet是一回事
[url]http://www.iteye.com/topic/1121242#2322208[/url]

请确保jsp文件编码也页面里面的编码格式一致
还有就是看下第一个页面是不是在传递之前就已经乱码还是传递过去之后才乱码的

get请求使用request.setCharacterEncoding(code)应该是不起作用的;
这种情况要对中文参数进行特殊处理:
传递之间encode(这里的标签可能已经给你encode了),接收到参数之后decode(java api);
如果是tomcat容器就直接修改server.xml里的编码设置;

看看tomcat配置文件
conf\server.xml
connectionTimeout="20000"
redirectPort="8443" URIEncoding=”UTF-8”/>

get... 不解释