jsp:forward与jsp:include乱码问题

来源:互联网 发布:qq软件 编辑:程序博客网 时间:2024/04/29 16:21

使用jsp:forward转发到另一个jsp页面时,两个页面的page指令设置相同,都为<%@page contentType="text/html;charset=GBK"%>.

转发页面代码如下:

<%@page contentType="text/html;charset=GBK"%>
<jsp:forward page="pageforward02.jsp">
    <jsp:param name="name" value="张三" />
<jsp:param name="id" value="220302" />
</jsp:forward>

转发目标页面pageforward02.jsp代码如下:

<%@page contentType="text/html;charset=GBK"%>
<%
    request.setCharacterEncoding("GBK");
    String name = (String)request.getParameter("name");
    String id = (String)request.getParameter("id");
%>
<h1>姓名:<%=name%></h1>
<h1>id号:<%=id%></h1>

但在转发页面取数据的时候乱码,对转发目标页面做了如下两种方式处理

第一种:request.setCharacterEncoding("GBK");

第二种: String name = (String)request.getParameter("name");
         name = new String(name.getBytes("ISO-8859-1"),"GBK");

结果还是乱码。转发面和目标页前加上如下代码,可正常显示:

<%
  request.setCharacterEncoding("GBK");
%>