1 . 自动注入
/* 自动注入 , 直接写在controller方法的形参中 , 前后端名称需保持一致 */ @RequestMapping("/test1") public String test1(String name , Integer age , Long time , Person person) { return "Hello " + name + " , " + age + " , " + time + " . " + person; }
2 . @RequestParam绑定请求参数
/* 通过@RequestParam绑定参数 */ @RequestMapping("/test2") public String test2(@RequestParam(name = "name" , required = false)String name , @RequestParam Integer age) { return "Hello " + name + " , " + age; }
@RequestParam中有个required参数 , 默认为true , 当为true表示该参数必传 , 如果没传则会报错
3 . @PathVariable获取路径中的参数
/* 通过@PathVariable获取路径上的参数 */ @RequestMapping("/test3/{name}/{age}") public String test3(@PathVariable String name , @PathVariable("age") Integer age){ return "Hello " + name + " , " + age; }4 . 通过HttpServletRequest对象手动get , 获取的值均为String型
/* 通过request手动获取 */ @RequestMapping("/test4") public String test4(HttpServletRequest req){ String name = req.getParameter("name"); String age = req.getParameter("age"); return "Hello " + name + " , " + age; }
5 . 通过@ModelAttribute获取form中的参数
/* 通过@ModelAttribute 获取post请求的form表单数据 */ @RequestMapping("/test5") public String test5(@ModelAttribute Person person){ return "Hello " + person.getName() + " , " + person.getAge(); }person中的成员变量名称需要和前台form中的name值保持一致 , 且必须要有get/set 方法 , 否则无法注入