获取spring参数的几种方式
获取前台参数
1.自动注入,适合用于get方式提交,不适合post方式提交
2.@RequestParam绑定请求参数(request参数默认是true,为true时必传,如妹传则报错)
例:@RequestMapping("/test2")
public String test2(@RequestParam(name = "name" , required = false)String name , @RequestParam Integer age)
{
return "Hello " + name + " , " + age;}
3. @PathVariable获取路径中的参数
例: @RequestMapping("/test3/{name}/{age}")
public String test3(@PathVariable String name , @PathVariable("age") Integer age)
{
return "Hello " + name + " , " + age;
}
4 . 通过HttpServletRequest对象手动get , 获取的值均为String型
例:@RequestMapping("/test4")
public String test4(HttpServletRequest req)
{
String name = req.getParameter("name");
String age = req.getParameter("age");
return "Hello " + name + " , " + age;
}
5 . 通过@ModelAttribute获取form中的参数
例:@RequestMapping("/test5")
public String test5(@ModelAttribute Person person){
return "Hello " + person.getName() + " , " + person.getAge();
spring MVC通过Map接受json
例:@RequestMapping("/doLogin")
public @ResponseBody User doLogin(@RequestBody Map<String, String> u)
{
logger.info("name: " + u.get("name"));
logger.info("pswd: " + u.get("pswd"));
User user = new User();
user.setName(u.get("name"));
user.setPswd(u.get("pswd"));
return user;
}