• struts2总结四:Action与Form表单的交互


    struts2 Action获取表单数据的方式有三种:1.通过属性驱动的方式。2.模型驱动方式。3.使用多个model对象的属性。

    1.通过属性驱动式

    首先在jsp里面编写form表单的代码如下:

        <form action="sys/login.action" method="post">  
            <input type="text" name="username">  
            <input type="submit" value="submit">  
        </form>

    Action:直接通过get、set方法获取。代码如下:

    public class sysAction extends ActionSupport{  
        private String username;  
     
        public String login() throws Exception {  
            System.out.println(username);  
            return SUCCESS;  
        }  
     
        public String getUsername() {  
            return username;  
        }  
        public void setUsername(String username) {  
            this.username= username;  
        }  
    }   

    2.模型驱动方式,Action类必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便

    首先在jsp里面编写form表单的代码如下:

        <form action="sys/login.action" method="post">  
            <input type="text" name="username">  
            <input type="submit" value="submit">  
        </form>

     Action:必须实现getModel() 方法,代码如下所示:

    public class sysAction extends ActionSupport implements ModelDriven<User>{  
        private User user;  
     
        public String login() throws Exception {  
            System.out.println(getModel().getUsername());  
            return SUCCESS;  
        }  
     
        public User getModel() {  
            if (null == user) {  
                return user = new User();  
            }  
            return user;  
        }  
    }   

    3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。

    首先在jsp里面编写form表单的代码如下:

     <form action="sys/login.action" method="post">  
            <input type="text" name="username">  
            <input type="submit" value="submit">  
        </form>

    Action: 必须提供set方法

    public class sysAction extends ActionSupport{  
        private User user;  
        private Teacher teacher;  
     
        public String login() throws Exception {  
            System.out.println(user.getUsername());  
            System.out.println(teacher.getLevel());  
            return SUCCESS;  
        }  
     
        public void setUser(User user) {  
            this.user = user;  
        }  
        public void setTeacher(Teacher teacher) {  
            this.teacher = teacher;  
        }  
    }  
  • 相关阅读:
    javascript运行机制之执行顺序详解
    js常见错误类型
    原生JS添加类名 删除类名
    innerHTML、innerText和outerHTML、outerText的区别
    cmd应用基础教程
    ASIC中的一些库和文件类型
    VCS中的覆盖率分析
    NC_Verilog中的工具ICC
    UVM中的sequence使用(一)
    UVM中的regmodel建模(三)
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4558351.html
Copyright © 2020-2023  润新知