zoukankan      html  css  js  c++  java
  • 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;  
        }  
    }  
  • 相关阅读:
    echart------属性详细介绍
    网页链接(插件,判断服务)
    简单的轮播效果
    实时时间
    Oracle Partition By 的使用
    Java配置----JDK开发环境搭建及环境变量配置
    流程控制语句以及引号的使用
    解决报表表头格式问题
    k3could报表中替换最后行汇总字段方法
    k3cloud中使用委托添加提示对话框点击确定后执行方法
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4558351.html
Copyright © 2011-2022 走看看