SpringMVC数据绑定

绑定基本格式

@RequestMapping("xxx.do")spring

@RequestBody数组

public String object(User user){app

    return user.toString();spa

}3d

 

一.基本类型、包装类型的绑定

int age 与 Integer age  比较:code

基本类型,key是必须传的,并且只能传 int 类型,不然400参数异常;不能为空,不然500错误;对象

包装类型,能够不传key,key能够为空。blog

因此开发中,可能为空的数据要使用 Integer 类型。还能够用 RequestParam对是否必需进行配置。索引

 

数组:基本类型,包装类型,String 的对象类型。   资源

    name1="a"&name2="b"&name3="c"

 

二.简单对象、复杂对象的绑定

1.简单对象,多层级对象

    name="a"&age="6"

    ContactInfo.phone="111"

2.同属性的多对象

    user.name=""      admin.name=""

    @InitBinder    加默认前缀

    

三.List、Set、Map类型的绑定

1.List集合,users[0], users[1]...

    索引必定要是连续的,若是  users[0], users[1], users[20] , 那么List会生成从0到20的21个地址。中间都是空值,浪费资源也麻烦处理。

        

2.Set集合,用来排重

    对size很严格,初始化要给size赋值,越界就报错

    重写 hashCode()和equals()方法后,初始化两个空地址,系统通过排重判断只认为存在一个地址;因此 array[0]赋值没问题,array[1]赋值就报错500了。

    

3.Map集合 

      users["X"].name=Tom&users["X"].age=10&users["Y"].name=Lucy&users["Y"].age=12

       X,Y 是 Map 的 key ,后面跟值

    

 

四.Json、Xml数据类型的绑定

1.Json, 用RequestBody

    须要    org.codehaus.jackson 提供支持

    

    @RequestBody 参数

    

2.Xml,用RequestBody

    须要    org.springframewoek 提供支持

    

    还要给 bean 加上 Xml注解,用的时候再去了解好了。

    

相关文章
相关标签/搜索