Struts2获得参数

前景提要:

  StrutsMVC

  Action生命周期:

    1.每次请求到来时,都会创建一个新的Action实例

    2.Action是线程安全的.可以使用成员变量接收参数

1.属性驱动获得参数

<form action="${pageContext.request.contextPath}/Demo8Action">
    用户名:<input type="text" name="name" /><br>
    年龄:<input type="text" name="age" /><br>
    生日:<input type="text" name="birthday" /><br>
    <input type="submit" value="提交" />
</form>
//准备与参数键名称相同的属性
private String name;
//自动类型转换 只能转换8大基本数据类型以及对应包装类
private Integer age;
//支持特定类型字符串转换为Date ,例如 yyyy-MM-dd
private Date   birthday;

2.对象驱动

<form action="${pageContext.request.contextPath}/Demo9Action">
    用户名:<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>
//准备user对象
private User user;

需要创建User对象

3.模型驱动

<form action="${pageContext.request.contextPath}/Demo10Action">
    用户名:<input type="text" name="name" /><br>
    年龄:<input type="text" name="age" /><br>
    生日:<input type="text" name="birthday" /><br>
    <input type="submit" value="提交" />
</form>
public class Demo10Action extends ActionSupport implements ModelDriven<User> {
    //准备user 成员变量
    private User user =new User();

    public String execute() throws Exception { 
        
        System.out.println(user);
        
        return SUCCESS;
    }

    @Override
    public User getModel() {
        return user;
    }

}

4.集合类型参数封装

<form action="${pageContext.request.contextPath}/Demo11Action" method="post" >
    list:<input type="text" name="list" /><br>
    list:<input type="text" name="list[3]" /><br>
    map:<input type="text" name="map['输入的值是:']" /><br>
    <input type="submit" value="提交" />
</form>
public class Demo11Action 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;
    }
}

 

  

posted on 2017-07-27 14:19  玉树霖风  阅读(88)  评论(0编辑  收藏  举报