请问requestDispatcher的forward方法如何传递参数。搜索了一下使用request.setAttribute()进行设置,好象不行, 详细代码内附。

saintKnight 2005-07-13 08:33:31
请问requestDispatcher的forward方法如何传递参数。搜索了一下使用request.setAttribute()进行设置,好象不能进行传递。
代码如下:
1.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>测试</title>
</head>
<body>
<a href="2.jsp?flag=123">go page</a>
</body>
</html>

2.jsp
<%
request.setAttribute("newflag","test");
request.getRequestDispatcher("3.jsp").forward(request,response);
%>

3.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%
String flag = request.getParameter("flag");
out.println("start<BR>");
out.println("flag:"+flag);
out.println("<BR>over flag<BR>");
String newflag = request.getParameter("newflag");
out.println("newflag:"+newflag);
out.println("<BR>over newflag");
%>
以上三个最简单的页面,在3.jsp页面上无法得到在2.jsp页面上设置的参数newflag的值,不知方法有误,还是本身就无法实现这类需求?
请多指点,谢谢!
...全文
634 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzg_study 2005-09-07
  • 打赏
  • 举报
回复
可以用response.sendRedirect("3.jsp?newflag=test");
return;
进行传递的
saintKnight 2005-07-13
  • 打赏
  • 举报
回复
getServletContext()是不是应用程序application级的范围?如果这样的话,使用session范围就可以了。我只是想缩小该变量的存储范围。不知有没有什么好方法?
Harbin_SAKURA 2005-07-13
  • 打赏
  • 举报
回复
楼上高人,学习一下

我一直还认为只有forward才能传值呢
shoulders 2005-07-13
  • 打赏
  • 举报
回复
使用getServletContext().setAttribute() 跟getServletContext().getAttribute()来解决。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧