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

  • 相关阅读:
    Linux网络编程必看书籍推荐
    SpringMVC DispatcherServlet初始化过程
    freemarker写select组件(五)
    hdu 1009 FatMouse&#39; Trade
    新IOS编程语言 Swift 新编译器Xcode6
    NoSQL数据库:数据的一致性
    POJ 3041 Asteroids
    POJ 3342 Party at Hali-Bula (树形dp 树的最大独立集 判多解 好题)
    __repr__与__str__
    HDU 4950 Monster(公式)
  • 原文地址:https://www.cnblogs.com/yz-bky/p/12603979.html
Copyright © 2011-2022 走看看