java中request.setAttribute???
a.jsp<%@pagecontentType="text/html;charset=GBK"%><html><bodybgcolor="#ffffff"><%reque...
a.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
%>
<a href="b.jsp">指向b.jsp</a>
</body>
</html>
b.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
out.println("name=" + request.getAttribute("name"));
%>
</body>
</html>
为什么b.jsp上打印name为空??? 展开
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
%>
<a href="b.jsp">指向b.jsp</a>
</body>
</html>
b.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
out.println("name=" + request.getAttribute("name"));
%>
</body>
</html>
为什么b.jsp上打印name为空??? 展开
3个回答
展开全部
你a页面没有把name设置到request作用域,所以在b页面取不到name的值...如果设置到了request作用域那么在b页面想要获取到值,必须a页面要转发过去,如果用<a href="b.jsp">指向b.jsp</a> 这样链接的话,就是url重写了,只能用request.getParameter("name");来获取了.
所以你要在a.jsp里把<a href="b.jsp">指向b.jsp</a>
改成一个表单提交,如:
a.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
%>
<form ation="b.jsp"><input type="submit" value="提交"/></form>
</body>
</html>
如果没有的话,就在a.jsp里加上一段
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
request.getRequestDispatcher("b.jsp").forward(request,response);
%>
2L说的存在session肯定是可以的,问题是他要用request来存,一般不推荐用session来存数据的.占资源.总之request.getAttibute需要转发才能获取到.也就是必须写上request.getRequestDispatcher("b.jsp").forward(request,response);
这个问题没什么意义.自己测试一下吧.
所以你要在a.jsp里把<a href="b.jsp">指向b.jsp</a>
改成一个表单提交,如:
a.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body bgcolor="#ffffff">
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
%>
<form ation="b.jsp"><input type="submit" value="提交"/></form>
</body>
</html>
如果没有的话,就在a.jsp里加上一段
<%
request.setAttribute("name","Func Real");
out.println("name=" + request.getAttribute("name"));
request.getRequestDispatcher("b.jsp").forward(request,response);
%>
2L说的存在session肯定是可以的,问题是他要用request来存,一般不推荐用session来存数据的.占资源.总之request.getAttibute需要转发才能获取到.也就是必须写上request.getRequestDispatcher("b.jsp").forward(request,response);
这个问题没什么意义.自己测试一下吧.
展开全部
用了resp.sendRedirect(url); ,就要吧东西存在session里,在 B 里
用session取。
如果你用了RequestDispatcher rd = request.getRequestDispatcher("url");
rd.forward(request, response); 那么你就可以存在requset里
用session取。
如果你用了RequestDispatcher rd = request.getRequestDispatcher("url");
rd.forward(request, response); 那么你就可以存在requset里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a页面改为response.setAttribute("name","Func Real");
试试
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询