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属性字段需要简单调整一下(items是一个pojo,自定义了一个po类里面包含pojo的包装类型(itemsList),生成setget方法)