参数绑定:springmvc接收请求的value串(比如:id=2&age=22),经过类型转换,将转换的后的值赋给controller方法的形参,这个过程就叫做参数绑定;
默认支持的类型:
HttpServletRequest
通过request发送请求的值
HttpServletResponse
通过response响应的值
HttpSession
通过session取到session中存入的值
Model/ModelMap
ModelMap是Model接口的实现类,通过Model或ModelMap向页面传递数据,如下:
//调用service查询商品信息
Items item = itemService.findItemById(id);
model.addAttribute("item", item);
页面通过${item.XXXX}获取item对象的属性值。
使用Model和ModelMap的效果一样,如果直接使用Model,springmvc会实例化ModelMap。
基本类型类型:Integer、string、boolean、float。。。
绑定规则:
对于基本类型参数绑定,当请求的参数的名称和controller方法的形参名一致时可以绑定成功。
如果请求的参数的名称和controller方法的形参名不一致时,如何绑定?
就要使用@RequestParam进行绑定:
使用方法如下:
@RequestParam(value="ids") Integer id 将请求的参数名为ids的值绑定方法形参的id上。
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报;
TTP Status 400 - Required Integer parameter 'XXXX' is not present
defaultValue:默认值,表示如果请求中没有同名参数时的默认值
- 额外添加2个jar包;
- 使用 @ResponseBody声明返回值;
- 配置<mvc:annotation-driven />;==>需要引入:xmlns:mvc="http://www.springframework.org/schema/mvc";