实现Action类

时间:2023-03-09 06:54:39
实现Action类

实现Action类

1.Action类的作用:

  (1)封装HTTP的请求参数;

  (2)处理用户请求;

  (3)封装处理结果。

2.Action类是什么,在Action类中应该包含什么:

  Action类就是一个POJO。

  Action类中包含的内容:

    (1)实例变量;

    (2)有关的setter、getter方法(必须要有这些方法,系统通过这些方法处理请求参数);

    (3)处理请求参数的逻辑方法(没有参数的方法),至少要有个execute()方法;

    (4)可以有用来封装处理结果的实例变量。

3.如何实现Action类:

(1)直接写一个Action类,不继承任何父类也不实现任何的接口:

package testAction;

public class Test_2Action {
    //封装Http请求的实例变量
    private String username;
    private String password;
    //settrt、getter方法
    public void setUsername(String username){
        this.username = username;
    }
    public String getUsername(){
        return this.username;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public String getPassword(){
        return this.password;
    }
    //处理请求的方法
    public String execute()throws Exception{
        if(getUsername().equals(getPassword())){
            return "success";
        }else{
            return "error";
        }
    }
}

(2)实现Struts2提供的Action接口:

  接口是规范!

package testAction;

import com.opensymphony.xwork2.Action;

public class Test_3Action implements Action{
    //封装Http请求的实例变量
    private String username;
    private String password;
    //settrt、getter方法
    public void setUsername(String username){
        this.username = username;
    }
    public String getUsername(){
        return this.username;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public String getPassword(){
        return this.password;
    }
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return SUCCESS;
    }

}

(3)继承Struts2提供的ActionSupport基类:

  Struts2提供的ActionSupport基类也实现了Action接口,在ActionSupport类中有许多用于处理请求参数的方法,ActionSupport类完全符合一个Action类的规范,因此我们可以直接使用其作为业务控制器。

  当我们配置Action时,没有为其添加class属性,这时系统会默认ActionSupport类为处理请求的Action类。