Action处理请求参数三种方式

Action动作类

  在Struts2的应用开发中,Action作为框架的核心类,实现对用户的请求处理,Action类被称为业务逻辑控制器

  一个Action类代表依次请求或调用,每个请求的动作都对应一个Action类,一个Action类是一个独立的工作单元

  Action就是用来处理一次用户请求的对象

  实例代码:

    第一种

/* 
 * 可作为一个POJO类
 *     在当前类中,要有一个公共的无参的构造方法,和一个execute()方法 该方法作用:是Action类
 * 的默认请求处理方法
 * execute()方法的要求如下:
 * 方法的权限修饰符为public        
 * 返回一个字符串,表示指示的下一个页面的Result
 * 方法没有参数
 * 
 */
public class ThirdAction {

    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String execute() {
        /*
         * 在当前方法中调用service层
         */
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        System.out.println(request);
        System.out.println(response);
        return "success";
    }

}

 

    第二种:编写action类 实现action接口

    

public class FourActrion implements Action{

    /*
     *  定义Action接口
     *     接口里包含的一些结果字符串
     *     Action接口中,定义默认五中逻辑视图名称
     *  public static final String SUCCESS=”success”; // 数据处理成功
     *    public static final String NONE=”none”;      // 页面不跳转 相当于 return null;
     *  public static final String ERROR=”error”;    // 数据处理发送错误 
     *  public static final String INPUT=”input”;     // 主要权限认证 比如:输入错误
     *  public static final String LOGIN=”login”     // 权限认证(登录页面)
     */
    
    @Override
    public String execute() throws Exception {
        //在这可以直接使用SUCCESS不需要“success”
        return SUCCESS;
    }
    
}

 

    第三种:继承ActionSupport   接口里也包含了Action接口里包含的结果字符串   推荐使用

 

public class fifthAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{
    
    private HttpServletRequest request;
    private HttpServletResponse response;
    @Override
    public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }
    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request = request;
    }
    public String execute() throws Exception {
        System.out.println(request);
        System.out.println(response);
        return SUCCESS;
    }

 

 

 

 

    

 

posted @ 2020-03-30 19:11  拯代码  阅读(2417)  评论(0编辑  收藏  举报