nosoftman 2011-06-10 00:51
浏览 454
已采纳

response.setHeader("refresh","5;url=success.jsp?idname="+id);传递中文参数问题

小弟最近刚学jsp,有个问题一直闹不明白,翻了好久资料也没找到答案。这个题目的要求是输入中文,如果不含有这个中文的话就会跳转到welcome.jsp页面,并且五秒后自动跳转到success.jsp页面,目前只有一个闹不明白,就是welcome.jsp中的response.setHeader("refresh","5;url=success.jsp?send="+str);,传递到success.jsp页面时是乱码,求解。。。。

具体源码如下:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>a</title>
</head>

<body>
<form action="b.jsp" method="get" name="form1">
    <p>请输入内容: <input type="text" name="fname" /></p>
    <input type="submit" value="Submit" />
   </form>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>b</title>
<%!LinkedList listname=new LinkedList();%>
</head>
<body>
<%
String str=request.getParameter("fname");
if(listname.contains(str))
{
%>
<jsp:forward page="fail.jsp"/>
<%
}
else{
listname.add(str);
%>
<jsp:forward page="welcome.jsp">
<jsp:param name="good" value="<%=str%>"/>
</jsp:forward>
<%
}
%>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" pageEncoding="gb2312" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>refresh</title>
</head>

<body>
<%
 String str=request.getParameter("good");
 byte b[]=str.getBytes("iso-8859-1");
 str=new String(b,"gb2312");
 %>
 <p>添加<%=str%>成功, 页面将五秒钟实现跳转。</p>
 <%
  response.setHeader("refresh","5;url=success.jsp?send="+str);
 %>
 <p>否则点击<a href="success.jsp?send=<%=str%>">此处跳转</a></p>
</body>
</html>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" pageEncoding="gb2312" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>success</title>
</head>
<body>
<%String str=request.getParameter("send");
 byte b[]=str.getBytes("iso-8859-1");
 str=new String(b,"gb2312");
 %>
创建成功 <%=str%>
</body>
</html>
  • 写回答

2条回答 默认 最新

  • qianzhi008 2011-06-10 12:12
    关注

    传递url之前,先统一一下编码格式。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 codelite全屏时file、setting那一行消失了
  • ¥15 gazebo-rviz教程
  • ¥15 付费求做一个自助抢单插件
  • ¥15 bat批处理,关于数据复制问题
  • ¥50 同步两个不同结果的array中某些属性
  • ¥15 悬赏15远程操控解决问题
  • ¥15 CST复制的模型无法单独修改参数?
  • ¥15 前端页面想做个定时任务,但是使用requestAnimationFrame,setinterval和settimeout都不行
  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器