Java参数传递问题

我用Servlet文件得到了String finaldata;现在想把它传递到JSP文件中。
我用:req.setAttribute("result", finaldata);
resp.sendRedirect("a.jsp");
JSP文件写的是:Result: <%= req.getAttribute("result") %>
但是,显示的是错误,null
是哪里的问题?
Servlet文件的开始的语句
public void doPost(HttpServletRequest req, HttpServletResponse resp)throws IOException {

resp.sendRedirect("a.jsp");
这个转向方式就是会晴空request和response里面的东西的。。

所以叶面得到的是空。。

用forward方式转向就行了哈。。

request.getRequestDispatcher("/a.jsp").forward(request, response);}

给你推荐个文章

参考资料:http://zithan.javaeye.com/blog/677728

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-08
1、sendRedirect()之后的request应该与之前的request是不同的
2、如果使用getRequest().getRequestDispatcher(“”)的话应该是可以的,或者另一种做法是,可以resp.sendRedirect("a.jsp?result="+finaldata);把参数带过去,然后通过req.getParameter("result")获取。
具体的话,楼主自己试一下本回答被提问者采纳
第2个回答  2010-08-08
request.getRequestDispatcher("a.jsp").forward(request, response);使用这个就可以了。
这个是请求转发,你用的是重定向。你应该看看jsp中各个属性设定作用域的章节。希望我的回答对你有所帮助。
第3个回答  2010-08-08
response.sendRedirect(a.jsp);是重定向,会将之前的请求和响应清空,再进行页面跳转,
把finaldata 存到request 请求域中,用重定向进行页面转发,在新的页面中是取不到的
可以把finaldata 存到会话中,也可以用 转发 进行页面的跳转{
request.getRequestDispatch(a.jsp).forward(req,resp);

第4个回答  2010-08-08
首先 楼主要分清楚 网页跳转的两种方式--第一种是服务器端跳转 也就是用request来进行跳转的,这时候用request来传递的参数是可以去到的,如果你用的是response.sendR。。来传递参数 那么是非服务器端的跳转,request已经不再其作用范围之内了..
所以一般情况下 我们都是用的服务器端的跳转,内部跳转 效率那自然不用说啦..
相似回答