zoukankan      html  css  js  c++  java
  • struts2框架学习笔记4:获取参数

    第一种参数获取方式:

    编写一个前端页面,提交表单,做示例:

        <form action="${pageContext.request.contextPath}/Demo1Action">
            用户名:<input type="text" name="name" /><br>
            年龄:<input type="text" name="age" /><br>
            生日:<input type="text" name="birthday" /><br>
            <input type="submit" value="提交" />
        </form>

    每次访问Action都会创建一个新的实例(线程安全):

    package param;
    
    import java.util.Date;
    
    import com.opensymphony.xwork2.ActionSupport;
    //第一种方式
    public class Demo1Action extends ActionSupport {
    
        private String name;
        private Integer age;
        private Date birthday;
        
        public String execute() throws Exception{
            System.out.println("name参数值:"+name+",age参数值:"+age+",生日:"+birthday);
            return SUCCESS;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
        
    }

    第二种方式获取参数:

    封装一个实体类:

    package domain;
    
    import java.util.Date;
    
    public class User {
        
        private String name;
        private Integer age;
        private Date birthday;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public Date getBirthday() {
            return birthday;
        }
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
        @Override
        public String toString() {
            return "User [name=" + name + ", age=" + age + ", birthday=" + birthday + "]";
        }
    }

    表单要修改下:

        <form action="${pageContext.request.contextPath}/Demo2Action">
            用户名:<input type="text" name="user.name" /><br>
            年龄:<input type="text" name="user.age" /><br>
            生日:<input type="text" name="user.birthday" /><br>
            <input type="submit" value="提交" />
        </form>

    获取参数:

    package param;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    import domain.User;
    
    //struts2如何获得参数-方式2
    public class Demo2Action extends ActionSupport  {
        //准备user对象
        private User user;
    
        public String execute() throws Exception { 
            
            System.out.println(user);
            
            return SUCCESS;
        }
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        
    }

    第三种方式获取参数:

    模型驱动:

    前端代码:

        <form action="${pageContext.request.contextPath}/Demo3Action">
            用户名:<input type="text" name="name" /><br>
            年龄:<input type="text" name="age" /><br>
            生日:<input type="text" name="birthday" /><br>
            <input type="submit" value="提交" />
        </form>

    获取参数:

    package param;
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.ModelDriven;
    
    import domain.User;
    
    public class Demo3Action extends ActionSupport implements ModelDriven<User> {
    
        private User user = new User();
    
        public String execute() throws Exception {
    
            System.out.println(user);
    
            return SUCCESS;
        }
    
        @Override
        public User getModel() {
            return user;
        }
    
    }

    第四种获取参数方式:

    集合类型封装:

    前端表单:

        <form action="${pageContext.request.contextPath}/Demo4Action" method="post" >
            list:<input type="text" name="list" /><br>
            list:<input type="text" name="list[3]" /><br>
            map:<input type="text" name="map['haha']" /><br>
            <input type="submit" value="提交" />
        </form>

    获取参数:

    package param;
    
    import java.util.List;
    import java.util.Map;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    //struts2 封装集合类型参数
    public class Demo4Action extends ActionSupport  {
        //list
        private List<String> list;
        //Map
        private Map<String,String> map;
        
        
        public String execute() throws Exception { 
            
            System.out.println("list:"+list);
            System.out.println("map:"+map);
            
            return SUCCESS;
        }
    
        public List<String> getList() {
            return list;
        }
    
        public void setList(List<String> list) {
            this.list = list;
        }
    
        public Map<String, String> getMap() {
            return map;
        }
    
        public void setMap(Map<String, String> map) {
            this.map = map;
        }
    
    }

    这里获得的参数直接封装到集合中

  • 相关阅读:
    20个软件开发常用设计文档大全下载
    php短信接口(基于商麦无限)
    PHP与ajax,无刷新表单提交
    解决GD中文乱码问题
    php中json_decode()和json_encode()的使用方法
    一些页面自动跳转的实现
    已损坏文档修复
    php中从结果集获取一条数据和所有数据的方法函数
    VIM 用法小记
    PHP与JavaScript下的Cookie操作
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8456478.html
Copyright © 2011-2022 走看看