1、参数绑定过程
springmvc参数绑定过程 – 从客户端请求key/value数据,经过参数绑定,将 key/value数据绑定到controller方法的形参上。 – springmvc中,接收页面提交的数据是通过方法形参来接收 ,而不是在controller类定义成员变量接收。
2、默认支持的类型
处理器形参中添加如下类型的参数,处理适配器会默认识别并 进行赋值。
– HttpServletRequest • 通过request对象获取请求信息
– HttpServletResponse • 通过response处理响应信息
– HttpSession • 通过session对象得到session中存放的对象
– Model/ModelMap • ModelMap是Model接口的实现类,将model数据填充到 request域,向页面传递数据
3、简单类型绑定
简单类型 – 支持整型、字符串、单精度/双精度、布尔型 – 当请求的参数名称和处理器形参名称一致时会将请求参数 与形参进行绑定。
– 通过@RequestParam对简单类型的参数进行绑定。
– 如果不使用@RequestParam,要求request传入参数名称和 controller方法的形参名称一致,方可绑定成功。
– 如果使用@RequestParam,不用限制request传入参数名称 和controller方法的形参名称一致
@RequestParam的参数
– value:参数名字,即入参的请求参数名字,如 value=“item_id”表示请求的参数中的名字为item_id的 参数的值将传入;
– required:是否必须,默认是true,表示请求中一定要有 相应的参数,否则将报 – defaultValue:默认值,表示如果请求中没有同名参数时 的默认
代码展示
@RequestMapping("/user")
@Controller
public class UserController {
// http://localhost:8080/user/get.do
//测试springMVC 参数绑定效果
@RequestMapping("/get.do") //将处理客户端请求的方法与url映射
public String getBaseParam(int a,double b,float c,boolean d,char e) {
System.out.println("http://localhost:8080/user/get.do");
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
return "";
}
测试
4、引用类型绑定
5、POJO类型绑定
将pojo对象中的属性名与传递进来的属性名对应 – 如果传进来的参数名称和对象中的属性名称一致,则将参 数值设置在pojo对象中
定义pojo类
在Controller中
测试
6、数组 绑定
7、集合绑定
集合类
– 支持字符串数组、List、Map
• 例如
– 批量删除
– 页面选中多个checkbox向controller方法传递
8、自定义参数