Struts 2获取表单数据

示例表单:

用户名:
时限:
地点:

配置信息:


        

Action类:

ActionContext获取

(1).创建继承ActionSupport的类
(2).获取ActionContext对象
(3).调用对象中的方法,获取表单数据
*HttpParameters是Struts 2提供的类型,与Map类似,按key-value的键值对存取。
*ActionContext对象提供的getParameters方法与servlet提供的有区别,注意区分。

public class getInformation extends ActionSupport {
    public String recall(){
        ActionContext context=ActionContext.getContext();//获取对象
        HttpParameters map = context.getParameters();    //获取表单数据
        Set keys=map.keySet();
        for(String key:keys){                            //测试是否获取成功
            Parameter obj=map.get(key);
            System.out.println(key+":"+obj);
        }
        return NONE;
    }
}

ServletActionContext获取

(1).创建继承ActionSupport的类
(2).使用ServletActionContext获取request对象
*HttpServletRequest类型由Servlet提供,需要另外导入包(可用tomcat中提供的servlet-api,在file>>project structure>>libraries>>+class)
(3).调用request中的方法获取表单信息

public class getInformation extends ActionSupport {
    public String recall(){
        HttpServletRequest request= ServletActionContext.getRequest();  //获取对象
        String name=request.getParameter("uname");                      //获取表单数据
        String time=request.getParameter("utime");
        String adress=request.getParameter("uaddr");
        System.out.println(name+" "+time+" "+adress);                   //测试是否获取成功
        return NONE;
    }
}

使用接口注入获取

(1).创建实现ServletRequestAware接口的类
*如果此处类不继承ActionSupport则无法return NONE
(2).实现接口的方法(得到request对象)
(3).调用request方法获取表单信息

public class getInformation implements ServletRequestAware {    //调用接口
    private HttpServletRequest request;
    @Override                                                   //实现接口的方法
    public void setServletRequest(HttpServletRequest request) { //获取对象
        this.request=request;
    }
    public String recall(){
        String name=request.getParameter("uname");              //获取表单信息
        String time=request.getParameter("utime");
        String adress=request.getParameter("uaddr");
        System.out.println(name+" "+time+" "+adress);
        return "success";
    }
}

你可能感兴趣的:(Struts 2获取表单数据)