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 方法 , 否则无法注入