代码1、
Map  request = (Map)ActionContext.getContext().get("request");


request.put("list",this.userService.findAllUser());
疑问:1、get("request");这儿的request到底代表的什么意思,哪儿来的?
      帮助文档上说通过遍历key值返回value,是个对象类型,
      返回的到底是当前请求还是所有请求对象(不知这样说对么)?若是所有request请求对象,下面的request.put("list",this.userService.findAllUser()),又是怎么存放的,怎么感觉又把this.userService.findAllUser()放到list里面了,迷迷糊糊。

解决方案 »

  1.   

    我不知道这是个什么方法。。首先MAP request,请你把request改了,在WEB应用里使用servlet自有的特定的参数,是很不负责任的一种表现,混淆视听。
    其次ActionContext.getContext().get("request") 返回的是object类型,只不过强制转换为Map而已。
    至于request.put("list",this.userService.findAllUser())  是Map的一个用途。
    Map.put(object,object) 这句话就是说在request这个MAP增加了一对KEY_VALUE key是“list”是个String。而value是this.userService.findAllUser() 应该是一个list(猜测)。
      

  2.   

    我说详细点吧 ,这是培训老师的一个例子,这是其中列出所有用户的一个action中execue方法中的一段代码,我贴全点吧,package com.test.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    import com.test.service.UserService;public class FindAllUser extends ActionSupport
    {
    private UserService userService;public UserService getUserService()
    {
    return userService;
    }public void setUserService(UserService userService)
    {
    this.userService = userService;
    }@Override
    public String execute() throws Exception
    {
    Map  request = (Map)ActionContext.getContext().get("request");


    request.put("list",this.userService.findAllUser());

    return SUCCESS;
    }}