zoukankan      html  css  js  c++  java
  • 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;
        }

        

  • 相关阅读:
    ORA-04098 trigger 'DBBJ.DB_EV_ALTER_ST_METADATA' is invalid and failed re-validation
    ORA -04098 触发器无效且未通过重新验证
    Oracle 设置主键自增长__Oracle
    重启Oracle服务
    手动启动 oracle 服务
    oracle错误-ORA-12519, TNS:no appropriate service handler found
    ORA-00904: 标识符无效——解决方案
    [原创] 新人分享--ORA-01012:not logged on的解决办法 [复制链接]
    java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?
    全面解析JS字符串和正则表达式中的match、replace、exec等函数
  • 原文地址:https://www.cnblogs.com/yz-bky/p/12600519.html
Copyright © 2011-2022 走看看