Springmvc的对象接收

来源:互联网 发布:nba2k12手游需要网络吗 编辑:程序博客网 时间:2024/05/22 16:53

**********注意在页面上所有的属性值一定要和后台相对应***********************

接收一个实体类

首先要有一个pojo实体类,比如:

public class Items {    private Integer id;    private String name;    private Float price;    private String pic;    private Date createtime;    private String detail;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name == null ? null : name.trim();    }    public Float getPrice() {        return price;    }    public void setPrice(Float price) {        this.price = price;    }    public String getPic() {        return pic;    }    public void setPic(String pic) {        this.pic = pic == null ? null : pic.trim();    }    public Date getCreatetime() {        return createtime;    }    public void setCreatetime(Date createtime) {        this.createtime = createtime;    }    public String getDetail() {        return detail;    }    public void setDetail(String detail) {        this.detail = detail == null ? null : detail.trim();    }}
做一个Vo类,比如:

public class QueryVo {//商品对象private Items items;public Items getItems() {return items;}public void setItems(Items items) {this.items = items;}}
前台:
<td>商品名称:<input type="text" name="items.name"/></td><td>商品价格:<input type="text" name="items.price"/></td><td><input type="submit" value="查询"/></td>
后台接收:

//如果Controller中接收的是Vo,那么页面上input框的name属性值要等于vo的属性.属性.属性.....@RequestMapping("/search")public String search(QueryVo vo) throws Exception{System.out.println(vo);return "";}

这样就能自动接收到Vo的值了

————————————————当然还有更简单的方法——————————

直接接收一个Items实体类也是可以的

修改代码处:

@RequestMapping("/search")public String search(Items item) throws Exception{System.out.println(item);return "";}



接收数组

在vo中可以设置一个数组

private Integer[] ids ;

并提供get()和set()方法


在前台设置一个<input type = "checkbox">标签

并且有属性<input type="checkbox" name="ids" />


后台

public String queryItems(QueryVo vo){

reuturn "";

}

自动注入

接收集合

在vo中可以设置一个集合

private List<Items> itemsList ;

并提供get()和set()方法


前台要使用

<c:foreach>标签进行遍历

比如:

<c:foreach items="${itemList}" var="item" varStatus="status">

<input type="text" name="itemsList[${status.index}].id" value="${item.id}" />

...

</c:foreach>