请问requestDispatcher的forward方法如何传递参数。搜索了一下使用request.setAttribute()进行设置,好象不行, 详细代码内附。
请问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的值,不知方法有误,还是本身就无法实现这类需求?
请多指点,谢谢!
代码如下:
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的值,不知方法有误,还是本身就无法实现这类需求?
请多指点,谢谢!
...全文
相关推荐
JSP request.setAttribute()详解及实例
`request.setAttribute()`是Java Servlet和JSP中用于在请求(request)范围内共享数据的一个关键方法。
request使用request使用
示例代码分析下面是一段典型的代码示例,展示了如何使用`setAttribute()`方法来传递数据,并通过`RequestDispatcher.forward()`方法实现页面转发:```java//
五种 JSP页面跳转方法详解
与forward()不同,sendRedirect()会在浏览器地址栏中显示新的URL。sendRedirect()支持通过URL参数传递数据,并且可以跨域重定向。
JSP中5种跳转foward,request等等的详细区别
如果需要传递参数,可以使用 response.setAttribute("name", name) 方法来传递参数。
java servlet 几种页面跳转的方法
- 传递参数只能通过URL附加参数或使用Session存储。- 一旦`sendRedirect()`被调用,当前请求的处理结束,无法再使用`request.setAttribute()`传递数据。


Java SE
