SpringMVC七种参数绑定简单介绍

a. 默认支持的类型:
        httpServletRequest, httpservletresponse, httpsession, model
        看自己需要, 如果需要用就加上,不需要用就可以不加.
    b. 简单类型:string, double, float, long, boolean等
        要求: 接收的类型的变量名称必须等于页面input框的name属性值
    c. pojo类型:
        springMvc可以直接接收pojo类型数据, 要求pojo的属性名称必须等于页面input框的name属性值
    d. pojo的包装类型
        要求: 页面上input框的name属性值, 必须得用pojo的属性.属性.属性.....
    e. 自定义转换器converter
        作用: 进行手动类型转换, 因为springMvc只能自动转换简单类型, 对于例如string转date无法转换
            所以我们需要手动进行类型转换, 编写自定义转换器, 在contrller方法接收到参数前进行
            类型转换.(此案例已经在其他贴子展示:https://www.cnblogs.com/sjzxs/p/9498625.html)
    f. 数组:
        需求:批量删除
        要求:页面上input框的name属性值必须等于接受的变量名称, 如果数组封装在pojo中, 那么pojo中的属性名称必须等于
            页面上input框的name属性值

  案例:

@RequestMapping("/queryitem")

public String queryItem(QueryVo queryVo, String[] ids) {

System.out.println(queryVo.getItems().getName());

System.out.println(queryVo.getItems().getPrice());

System.out.println(ids.toString());

return null;

}

或者直接将数组封装到某个pojo中然后生成setget方法。


    g. list集合
        需求: 批量修改
        要求: 页面上input框的name属性值必须等于接收的属性名称+[循环下标]+.+集合泛型pojo的属性名称
            controller方法必须接收pojo, 所以可以将list集合封装到QueryVo中.

   List中存放对象,并将定义的List放在包装类中,使用包装pojo对象接收。
   jsp页面的name属性字段需要简单调整一下<input type="text" name=" itemsList[0].id" value="${item.id}"/>(items是一个pojo,自定义了一个po类里面包含pojo的包装类型(itemsList),生成setget方法)

    

 

posted @ 2018-08-19 21:53  向上丶  阅读(491)  评论(0编辑  收藏  举报