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;
    }

}
原文地址:https://www.cnblogs.com/ms-grf/p/7257344.html