springMVC数据绑定【三】——List、Set和Map绑定

List数据绑定

/**
     * list集合的数据绑定
     * @param userListForm
     * @return
     * http://localhost:8080/userList.do?list[0].name=Lily&list[1].name=Tom
     */
    @RequestMapping("userList.do")
    @ResponseBody
    public String list(UserListForm userListForm){
        return userListForm.toString();
    }
/**
 * TODO: 用户List集合
 **/
public class UserListForm {
    private List<User> list;

    public List<User> getList() {
        return list;
    }
    public void setList(List<User> list) {
        this.list = list;
    }
    @Override
    public String toString() {
        return "UserListForm{" +
                "list=" + list +
                '}';
    }
}

值得注意的一点:springMVC不支持List类型直接转换,需要封装成Object,
public String list(List uList)这种写法是不对的
需要自己写一个类,这个类里面的某个属性是一个List集合
如:
public class UserListForm(
private List uList;
)
list集合

Set数据绑定

/**
     * set集合的数据绑定
     * set集合数据绑定要先初始化
     * @param userSet
     * @return
     * http://localhost:8080/userSet.do?set[0].name=Lily&set[1].name=Tom
     */
    @RequestMapping("userSet.do")
    @ResponseBody
    public String set(UserSet userSet){
        return userSet.toString();
    }
/**
 * TODO: set集合数据绑定
 **/
public class UserSet {
    private Set<User> set;

    public UserSet(){
        set = new LinkedHashSet<User>();
        set.add(new User());
        set.add(new User());
    }
    public Set<User> getSet() {
        return set;
    }

    public void setSet(Set<User> set) {
        this.set = set;
    }

    @Override
    public String toString() {
        return "UserSet{" +
                "set=" + set +
                '}';
    }
}

set
同样,springMVC对Set的支持也不太好,需要封装成Object对象来调用,
而且在调用的时候,要想对set进行初始化
set具有排重的功能,要使用排重功能的时候,要重写set的hashcode和equals方法
初始化进行排重时会导致size变小,致使无法接受更多的数据而抛出异常,所以我们开发一般优先使用List(List不用初始化)

map数据绑定

/**
     * map集合的数据绑定
     * @param userMap
     * @return
     * http://localhost:8080/userMap.do?maps['X'].name=Tom&maps['X'].age=10&maps['Y'].name=Lucy
     */
    @RequestMapping("userMap.do")
    @ResponseBody
    public String map(UserMap userMap){
        return userMap.toString();
    }
/**
 * TODO: map集合的数据绑定
 **/
public class UserMap {
    private Map<String,User> maps ;

    public Map<String, User> getMaps() {
        return maps;
    }
    public void setMaps(Map<String, User> maps) {
        this.maps = maps;
    }
    @Override
    public String toString() {
        return "UserMap{" +
                "maps=" + maps +
                '}';
    }
}

map

springMVC数据绑定【一】——基本类型、包装类型、数组绑定
springMVC数据绑定【二】——简单对象、多层级对象和同对象数据绑定
springMVC数据绑定【四】——Json和XML

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值