• Struts 获得前台传参几种方式


    struts.xml统一

    <struts>
        <package name="result" namespace="/" extends="struts-default" >
        <!--  转发 -->
            <action name="Demo6Action" class="com.future.api.Demo6Action" method="execute" >
                <result name="success">/index.jsp</result>
            </action>
        </package>
    </struts>

    1、Action中定义属性然后定义属性的get set 方法获得

    hello.jsp

    <body>
      <form action="${pageContext.request.contextPath }/Demo6Action">
        姓名:<input type="text" name="name" /><br/>
        年龄:<input type="text" name="age" /><br/>
        <input type="submit" value="提交" /> 
      </form>
    </body>

    Demo6Action.java

    public class Demo6Action extends ActionSupport {
    
        private String name;//必须和jsp中的input标签中的name命名一样
        private Integer age;
        
        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;
        }
    
        @Override
        public String execute() throws Exception {
            System.out.println("姓名:" + name);
            System.out.println("年龄:" + age);
            return SUCCESS;
        }
    
    }

    2、定义Bean对象的方式获得

    hello.jsp

    <form action="${pageContext.request.contextPath }/Demo6Action">
      <!-- 必须要和Action中定义的类对象名字一样 -->
      姓名:<input type="text" name="user.name" /><br/>
      年龄:<input type="text" name="user.age" /><br/>
      <input type="submit" value="提交" /> 
    </form>

    User.java

    public class User {
    
        private String name;
        private Integer age;
        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;
        }
        
    }

    Demo6Action.java

    public class Demo6Action extends ActionSupport {
    
      //参数
        private User user;
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        @Override
        public String execute() throws Exception {
            System.out.println("姓名:" + user.getName());
            System.out.println("年龄:" + user.getAge());
            return SUCCESS;
        }
    
    }

    3、模型驱动方式

    hello.jsp

    <form action="${pageContext.request.contextPath }/Demo6Action">
      姓名:<input type="text" name="user.name" /><br/>
      年龄:<input type="text" name="user.age" /><br/>
      <input type="submit" value="提交" /> 
    </form>

    User.java

    public class User {
    
        private String name;
        private Integer age;
        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;
        }
        
    }

    Demo6Action.java

    public class Demo6Action extends ActionSupport implements ModelDriven<User> {
    
        //成员变量
        private User user = new User();    
    
        @Override
        public String execute() throws Exception {
            System.out.println("姓名:" + user.getName());
            System.out.println("年龄:" + user.getAge());
            return SUCCESS;
        }
    
        public User getModel() {
            
            return user;
        }
    
        
    }

     4、使用集合方式获取

    hello.jsp

    <body>
      <form action="${pageContext.request.contextPath }/Demo6Action">
        姓名:<input type="text" name="list" /><br/>
        年龄:<input type="text" name="list[1]" /><br/>
        地址:<input type="text" name="map['address']" /><br/>
        电话:<input type="text" name="map['phone']" /><br/>
        <input type="submit" value="提交" /> 
      </form>
    </body>

    Demo6Action.java

    public class Demo6Action extends ActionSupport {
    
        private List<String> list;
    
        public List<String> getList() {
            return list;
        }
    
        public void setList(List<String> list) {
            this.list = list;
        }
    
        private Map<String, String> map;
        
        public Map<String, String> getMap() {
            return map;
        }
    
        public void setMap(Map<String, String> map) {
            this.map = map;
        }
    
        @Override
        public String execute() throws Exception {
            System.out.println("list:" + list);
            System.out.println("map:" + map);
            return SUCCESS;
        }
    
    }
  • 相关阅读:
    数组中寻找和为X的两个元素
    JSP&Servlet学习笔记(一)
    自下而上的动态规划算法
    计数排序
    快速排序
    堆排序
    LeetCode-001题解
    算法不归路之最大子序列(C++版)
    算法不归路之插入排序(C版)
    互联网五层模型
  • 原文地址:https://www.cnblogs.com/ms-grf/p/7257344.html
Copyright © 2020-2023  润新知