核心提示:JavaEE之Struts2获取表单数据不使用框架的话,则是使用Servlet的request对象获取,其方法分别是getParameter和getParameterMap。使用Struts2获取数据...
       JavaEE之Struts2获取表单数据
不使用框架的话,则是使用Servlet的request对象获取,其方法分别是getParameter和getParameterMap。使用Struts2获取数据不能使用上面的方法,不过另外封装了3种方法:
使用ActionContext类(推荐使用,解耦) 使用ServletActionContext 使用接口注入方式(相应的Action实现ServletRequestAware接口,一般不使用)表单代码
说明一下,表单是可以使用中文的不会乱码,原因是Struts2已经在struts配置中做了处理
ActionContext
action代码
@Override
public String execute() throws Exception {
    /*
     * 第一种方式:ActionContext获取
     */
    // 1、获取ActionContext对象
    ActionContext context = ActionContext.getContext();
    // 2、调用方法得到表单数据
    Map map = context.getParameters();
    for (String key : map.keySet()) {
        Object[] objects = (Object[]) map.get(key);
        System.out.println(Arrays.toString(objects));
    }
    return NONE;
} 
ServletActionContext
action代码
@Override
public String execute() throws Exception {
    /*
     * 第二种方式:ServletActionContext获取
     */
    // 1、使用ServletActionContext获取request对象
    HttpServletRequest request = ServletActionContext.getRequest();
    // 2、调用方法得到表单数据
    String user = request.getParameter("user");
    String pwd = request.getParameter("pwd");
    String address = request.getParameter("address");
    System.out.println(user + " " + pwd + " " + address);
    return NONE;
}
而ServletActionContext最常用的则是使用它来操作Servlet中的3大域对象,即request、session、servletContext。
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("req", "reqValue");
HttpSession session = request.getSession();
session.setAttribute("ses", "selValue");
ServletContext context = ServletActionContext.getServletContext();
context.setAttribute("con", "conValue");
						


 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                