struts2获得表单参数的三种方法

一、使用getParameters()直接获得表单参数的map集合

public class LoginActionTest extends ActionSupport {
    /**
     * 使用getParameters()直接获得表单参数的map集合
     * @return
     */
    public String login  (){
        Map<String, Object> map = ActionContext.getContext().getParameters();//获得map集合
        Set<String> keySet = map.keySet();//获得key的set集合
        for (String key : keySet) {//遍历set集合获得所有key
            Object[] obj=(Object[]) map.get(key);//获得key对用的数组(因为表单参数有可能会一个key传入多个值,如复选框)
            System.out.println(Arrays.toString(obj));////把数组内容显示出来
        }
        return "mylogin";
    }
}

二、使用getRequest()获得request response

    /**
     * 使用getRequest()获得request  response
     * @return
     */
public String login1 (){
        //获得respons和request
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        //获得参数
        request.getParameter("username");
        request.getParameter("pwd");
        //显示参数
        System.out.println(request.getParameter("username")+"===="+request.getParameter("pwd"));
        return "mylogin";
    }

三、接口注入的方式获得request response

public class Logina implements ServletRequestAware{
    private HttpServletRequest  request;//私有的request
    /**
     * 这个方法是必须要实现的,用此方法获得request
     */
    @Override
    public void setServletRequest(HttpServletRequest arg0) {
        // TODO Auto-generated method stub
        this.request=arg0;
    }
    public String login  (){
        request.getParameter("username");
        request.getParameter("pwd");
        //显示参数
        System.out.println(request.getParameter("username")+"===="+request.getParameter("pwd"));
        return "mylogin";
    }
    
}

 

 

好像这些获得request的方法主要还是用来操作域对象的。。。

posted @ 2017-09-10 09:35  sovagxa&静默  阅读(371)  评论(0)    收藏  举报