我想知道jsp:param传递参数的过程,涉及中文乱码问题

代码如下MyJsp.jsp:<jsp:includepage="hello.jsp"><jsp:paramvalue="我胡汉三"name="userName"/></j... 代码如下
MyJsp.jsp:
<jsp:include page="hello.jsp">
<jsp:param value="我胡汉三" name="userName"/>
</jsp:include>

hello.jsp:
<%=request.getParameter("userName") %>

jsp页面传参方式不是只有3中,url,get和post,我开始觉得这个应该属于url或者get方式的传参吧,如果是这样的话,那么tomcat应该是会默认对url和get方式提交的参数用iso-8859-1重新编码,所以我也尝试过修改tomcat的server.xml文件,在Connecter标签里面添加URIEncoding=“UTF-8”,但是没效果
然后我在hello.jsp页面获取参数之前设置request.setCharacterEncoding("UTF-8");也没效果
但是我在MyJsp.jsp里面设置request.setCharacterEncoding("UTF-8");就有效果了
我觉得这个和我之前对jsp参数编码的理解不太一样····,URIEncoding没有用说明这种方式不是url或者get方式,但是request.setCharacterEncoding()不是表明对浏览器发送来的数据进行重新编码吗,那么上面这个例子是不是表明在提交请求的页面request就执行了对参数的重编码,正常来说应该是在hello.jsp里面设置request.setCharacterEncoding()方法才对吧
注:这2个页面我都加了设置浏览器编码的代码和jsp页面编码,如下
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
重点是我这个不是涉及到后台吧,就是一个jsp页面包含另一个jsp页面并传递一个参数,然后在包含的页面里面打印获得的参数,我直接运行项目显示MyJsp.jsp页面
展开
 我来答
解当家的小跟班dC
2014-08-19
知道答主
回答量:55
采纳率:0%
帮助的人:5.9万
展开全部
jsp往后台传参数时加上这个var n="";
//将汉字转换成ASCII码,然后在服务器端里再根据ASCII码转换成相应的字符
for(i=0;i<planName.length;i++){
n+=planName.charCodeAt(i)+",";//将字符转换成相应的ASCII码并用空格隔开;
}
plantName为你要传的汉语
百度网友eed1d6f
2015-01-08
知道答主
回答量:1
采纳率:0%
帮助的人:2.2万
展开全部
你可以在hello.jsp里面加上:
response.setCharacterEncoding("UTF-8")
就有效果了。你就明白了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式