1. 程式人生 > >struts2框架學習筆記4:獲取參數

struts2框架學習筆記4:獲取參數

map pre spa xtend 新的 get cti port row

第一種參數獲取方式:

編寫一個前端頁面,提交表單,做示例:

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

}

這裏獲得的參數直接封裝到集合中

struts2框架學習筆記4:獲取參數