@RequestMapping
-
作用
-
确定请求URL和处理方法之间的对应关系
-
窄化请求
-
请求方法限定
@RequestMapping(method = RequestMethod.GET) 等价 @GetMapping @RequestMapping(method = RequestMethod.POST) 等价 @PostMapping @RequestMapping(method={RequestMethod.GET,RequestMethod.POST})
-
-
常用属性
- path: 指定请求路径的url
- valer: value属性和path属性是一样的
- method: 指定该方法的请求方式
- parmas: 指定必须要传递的请求参数
-
比如 :要求请求参数必须传递name
@RequestMapping(value = "/toIndex.do",params = {"name"})
-
请求参数的绑定概念
- 请求参数的绑定说明
- 绑定机制
- 表单提交的数据都是键值对格式的 name=xixi&password=123456
- SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定
要求:提交表单的name和参数的名称是相同的
- 支持的数据类型
- 基本数据类型和字符串类型
- 实体类型(JavaBean)
- 数组类型
- 绑定机制
请求参数绑定之基本数据类型和字符串类型
- 注意事项
- 提交表单的name和参数的名称是相同的
- 区分大小写
- 案例演示
-
需求案例将id和name绑定大Controller方法形参上
-
页面代码
<form action="${pageContext.request.contextPath}/testParam1.do"> 编号:<input type="text" name="id"/><br> 账户:<input type="text" name="name"/><br> <button type="submit">提交</button> </form>
-
controller方法
@PostMapping( "/testParam1.do") public ModelAndView regist(Integer id, String name,){ System.out.println("id : " + id + " , name: " + name+" ); User user = new User(id,name); System.out.println(user); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("index"); //调用service return modelAndView; }
-
请求参数绑定之实体类型(JavaBean)
-
提交表单的name和JavaBean中的属性名称要一致
-
页面代码
<form action="${pageContext.request.contextPath}/testParam2.do"> 编号:<input type="text" name="id"/><br> 账户:<input type="text" name="name"/><br> <button type="submit">提交</button> </form>
-
controller方法
@RequestMapping("/testParam2.do") public ModelAndView testParam1(User user) { System.out.println("id : " + user.getId() + " , username : " + user.getUsername()); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("index"); //调用service return modelAndView; }
请求参数绑定之JavaBean包装类
-
如果一个JavaBean类(对象A)中包含另外一个JavaBean类(对象B),那么表单的name属性需要编写成:对象B.属性
-
包装类
public class UserQuery { private User user; public UserQuery() { } public UserQuery(User user) { this.user = user; } public Us