• Action处理请求参数


    在Struts2中,页面请求分为两种方式,分别是字段驱动和模型驱动,字段驱动也属于属性驱动

      属性驱动是指通过字段进行数据传递,两种情况:

      1,与基本数据类型的属性对应

         【1】编写Action类

      

    public class login {
        private String username;
        private String password;
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public String execute()
        {
            ActionContext context = ActionContext.getContext();
            if("yz".equals(username) && "123".equals(password))
            {
                //把username存在context里然后在jsp页面使用${}接收
                context.put("qwe", username);
                return "success";
            };
            return "success";
        };
    }

          【2】编写配置文件

          【3】编写jsp页面

     

           在success.jsp加入${qwe}用于接收用户名字

      2,直接使用域对象

          【1】编写User实体类 并且加入get,set方法

          【2】编写Action类

            

    public class UserAction extends ActionSupport implements ServletRequestAware{
        private User user;
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
        
        HttpServletRequest request;
        
        @Override
        public void setServletRequest(HttpServletRequest request) {
            this.request=request;
        }
        
        public String execute()
        {
            System.out.println(user.getUsername());
            System.out.println(user.getPassword());
            if("sss".equals(user.getUsername()) && "123".equals(user.getPassword()))
            {
                request.setAttribute("username",user.getUsername());
                return "success";
            };
            return "success";
        };
        
    }

          【3】编写配置文件

          【4】编写jsp页面

         在success.jsp页面加入${username}

      模型驱动

      模型驱动通过实现ModelDriven接口来接受请求参数,Action必须实现ModelDriven接口

      并且要从写getModel()方法,这个方法返回的就是Action所使用的数据模型对象

        【1】编写User实体类 并且加入get,set方法

     

        【2】编写Action类

    public class UserAction2 extends ActionSupport implements ServletRequestAware,ModelDriven<User>{
        HttpServletRequest request;
        private User user=new User();
        @Override
        public User getModel() {
            return user;
        }
    
        @Override
        public void setServletRequest(HttpServletRequest request) {
            this.request=request;
        }
        public String execute()
        {
            if("sss".equals(user.getUsername()) && "123".equals(user.getPassword()))
            {
                request.setAttribute("user", user);
                return "success";
            };
            return "success";
        };
    
    }

        【3】编写配置文件

        【4】编写jsp页面

         在success.jsp页面加入${user.username}

  • 相关阅读:
    python--数据可视化
    python--数据处理与探索
    如何使用.NET开发全版本支持的Outlook插件产品(四)——进阶探讨
    如何使用.NET开发全版本支持的Outlook插件产品(三)——全面控制
    对于.NET Socket连接的细节记录
    如何使用.NET开发全版本支持的Outlook插件产品(二)——完善插件
    如何使用.NET开发全版本支持的Outlook插件产品(一)——准备工作
    不建议双挖
    不要挖门罗
    关于PoW工作量证明的不公平
  • 原文地址:https://www.cnblogs.com/yz-bky/p/12603979.html
Copyright © 2020-2023  润新知