日期:2014-05-18  浏览次数:20604 次

jsp传值给servlet问题求解??????????????????????????????????????????????
jsp中,前提是不用表单,不用超链接,因为我在jsp中是不需要点击就直接传值过去的,我是这样想的,开始我用
response.sendRedirect("CostLogMgrServlet?pageSize=9&pageNow=2");
  在servlet:
int pageSize=Integer.parseInt(request.getParameter("pageSize"));
int pageNow=Integer.parseInt(request.getParameter("pageNow"));
结果是null;


request.setAttribute("pageSize", "9");
request.setAttribute("pageNow", "2");
servlet中
int pageSize=(Integer)request.getAttribute("pageSize");
int pageNow=(Integer)request.getAttribute("pageNow");
也是null;

我想用session来做
session.setMaxInactiveInterval(3600);
session.setAttribute("pageSize", "9");
session.setAttribute("pageNow", "2");
servlet中
HttpSession session=request.getSession(true);
int pageSize=(Integer)session.getAttribute("pageSize");
int pageNow=(Integer)session.getAttribute("pageNow");
结果还是null;
是不是我哪里写错了,
还有就是我用测试了下使用超链接
jsp中:
a
b
这个我是用的变量;
  <a href="CostLogMgrServlet?a="+a+"&b="+b+""></a>
servlet中
int a=Integer.parseInt(request.getParameter("a"));
intb=Integer.parseInt(request.getParameter("b"));

结果a,b还是null;
郁闷了!
求各位知道的解释下;
Servlet JSP session

------解决方案--------------------
简单点说用response.sendRedirect()地址栏url没变,所以url传参接受不到
改用request.getRequestDispatcher().forward(request,response),这个可以传参
------解决方案--------------------
同楼上。。。response.sendRedirect()你这是用的重定向,参数跟本不可能传过去,结果当然是空值了。用
request.getRequestDispatcher().forward(request,response),就可以了,这样把参数也捎带过去了。。。
------解决方案--------------------
我觉得搂主还是搞本<servlet开发指南> 好好看看,搞清楚jsp 和 servlet的工作机制再说吧。

就算有人告诉你怎么弄了,你也是知其然不知其然,换个问题又搞不定了。