在UserAction中定义了一个List<User> list = new ArrayList<User>()集合,就是当点击一下页面发送一个请求并携带参数id到传UserAction中,然后根据id在数据库里面查找到相应的user对象,再通list.add(user)将user对象添加以集合里面。问题是:因为struts2每次请求action都会生成一个新的实例,所以当页面发出请求的时候,list对象重新实例化了, 请问我想在多次请求中,多次向那个list加东西,用session如何具体实现。

解决方案 »

  1.   

    再通list.add(user)将user对象添加以集合里面 之后,
    把list放入session
    HttpSession session=request.getSession();
    session.setAttribute("userlist",list);下次向list添加user,
    List<User> list1=session.getAttribute("userlist");list1.add(user);
    取出来 添加了 再放回去
    session.setAttribute("userlist",list1);用session是这样解决的
      

  2.   

    请求action 获取session的list  
    if(list==null)//第一次请求
    创建list
    else 获取list
    将页面传递来的id在list的查看如果有则该对象数量加一。
    如果没得就在数据库中查找该对象,后并添加到list中。
    完成之后再保存到session中。
    这样只有还在会话session还在无论是哪一次请求都能在同一个list的操作。