Session
我的session怎么传不到下一个页面
我再上一个页面创建了session.setAttribution("AddToCart",book);
转到下一个servlet时得到的是null,求助高手
------解决方案--------------------你有没断点调试?
发这点看不出什么,要么是你页面的异常,要么是你本身传入的时候book是NULL。
------解决方案--------------------这个你调试一下,或者在传递过程中使用打印看看
------解决方案--------------------你是用的什么跳转啊 一搬是请求转发 这样你设置的属性才会被传到你想要显示的页面哦
------解决方案--------------------试一试这样取值呗....
如果你那个book的对象的话就
BooK b =(BooK)session.getAttribute( "AddToCart ");
如果是String的话
String str =session.getAttribute( "AddToCart ");
------解决方案--------------------你名字别写错了哦,如果放到session中去了,在servlet页面应该是取得到值的,应该是取这个AddToCart的值哦
------解决方案--------------------还要看看你放到session中的book是否为空
------解决方案--------------------LZ你最好是在Servlet中调用用javaBean
然后request.getSession().setAttribute("bookToAdd",bookToAdd);
在到jsp页面接收 BookBean book=(BookBean)session.getAttribute("bookToAdd");
这样会比较好 在JSP页面直接调用是不提倡的哦 ...
------解决方案--------------------while(i<size)
{
book=(BookBean)list.get(i);
if(iSBN == book.getISBN())
{
break;
}
i++;
}
楼主你确定你这段代码执行了吗? session.setAttribute("bookToAdd",book);
我想你肯定没有存储进入对象.
------解决方案--------------------怎么可能啊 你是不是在那清空session了??
------解决方案--------------------一般写JAVA的人都不会这样比较字符串的,楼主你设置session的代码肯定没有被执行到,另以后有疑问都可以看断点看看的
Java code
if(iSBN == book.getISBN())
------解决方案--------------------
确定if语句执行了??
------解决方案--------------------
你可以在servlet中加入打印语句,看看哪些地方程序执行了 哪些并没有执行到
------解决方案--------------------
------解决方案--------------------
在Servlet里我一般用Session,
是request.getSession.setAttribute("","");
在Servlet里是不可以直接使用Session来调用方法吧@!??
------解决方案--------------------
HttpSession session=request.getSession(false);是不是这个false的原因啊
------解决方案--------------------
弱弱说一句,servlet中获取session的值不是session.getAttribute(),而是request.getSession().getAttribute()哦。。
------解决方案--------------------
楼主你的代码不好看清楚,我建议你在转到的页面首先获取一下Session然后输出看看是否为空,如果这样为空的话,那就是 session.setAttribute("bookToAdd",book);
这句话没有执行到了。试着去做吧
------解决方案--------------------
在action中不要使用重定向,否则session个中的值就会丢失
------解决方案--------------------
HttpSession session=request.getSession(false);改为
HttpSession session=request.getSession();