系统登陆后,我用list保存用户的信息,并放到session中,return Success;
代码如下:List<String> usermsg = new ArrayList()
usermsg.add(username);
usermsg.add(password);
ActionContext.getContext().getSession().put("list", usermsg);
return Success;现在是我要怎样才能在jsp页面中显示出来,怎样用iterator标签求解

解决方案 »

  1.   

    应该在jsp页面request.getSession();来获得吧,能力有限。
      

  2.   

    ActionContext.getContext().getSession().put("list", usermsg);
    不要被这个getSession()给误解了,getSession()它返回的并不是一个HttpSession对象而是一个HashMap对象,那么很好!因为你没必要把结果放在session中,既然你是把结果放在了一个HashMap中,然后return success;那么在页面肯定取不到当中的数据了。
    那么你可以用这样两种方法做到:
    1:放在action中声明一个成员变量,把usermsg赋给成员变量,这样在页面上可以获取到。
    2:把usermsg存放到request作用域中,获到request对象用下面的代码:
    HttpServletRequest request = ServletActionContext.getRequest();
      

  3.   

    这样得到的是一个request:ActionContext ctx=ActionContext.getContext();
    request=(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);得到session:    retquest.getSession();设置值就不用我说了
    在jsp页面直接用${list}就可以了
      

  4.   

    <s:iterator value="#session.list" var="value">
       <s:property value="#value"/>
    </s:iterator>
      

  5.   

    ActionContext ctx=ActionContext.getContext();
    request=(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);这方法也麻烦了吧!
    ServletActionContext有getRequest()方法,为什么不直接调用呢?
    你这样先到一个ActionConext多此一举嘛!