方法1中,我存入一个Session值:
Map session1=ActionContext.getContext().getSession();
session1.put("ListInfo", list);
页面中,我获取到了该值并且能够打印出来:
<c:forEach items="${sessionScope.ListInfo}" var="infoList" varStatus="status" >
在该页面中我执行一个删除操作,请求一个删除方法,删除session中ListInfo 中 list的一个元素。
在删除过程中,我想取session中 ListInfo的值,取不到。报了 null 异常。
获取代码:
Map session1=ActionContext.getContext().getSession();
List<ProductInfo> list=(List<ProductInfo>) session1.get("InfoList");//获得session里的全部商品放在 list 里
//session1.remove("InfoList");//删除 session里所有商品
if(list != null){//根据调试这一步 list 为 null抱了异常
求解,谢谢 各位,我在线等。分不够可以加。

解决方案 »

  1.   

    该项目 基于 SSH2 框架 编写
      

  2.   

    Map session1=ActionContext.getContext().getSession();
    session1.put("ListInfo", list);List<ProductInfo> list=(List<ProductInfo>) session1.get("InfoList");存入和取出的key值不一样,请检查。
      

  3.   

    继续的  我想问下 在 session  中 有一个list ,要删除 list中的一个 元素。  我直接把 list取出来 然后直接遍历出来,删除就可以了吗?   还是 在遍历删除了之后  把 session 清空一下  把 list 再装进去
      

  4.   

    把 list取出来 然后直接遍历出来,在放进去就可以。不用清空。
      

  5.   

    <c:forEach items="${sessionScope.ListInfo}" var="infoList" varStatus="status" >
         <c:if test=""></c:if>
    如何判断 ListInfo的长度?我想判断他  如果等于 0  的话 执行 if 里面的东西。  
      

  6.   

    <c:if test="${infoList!=null}"></c:if>