一、通过@PathVariabl获取路径中的参数
例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei
1 @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GET) 2 public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) { 3 4 System.out.println(id); 5 System.out.println(name); 6 model.addAttribute("message", "111111"); 7 return "users"; 8 }
二、@ModelAttribute获取POST请求的FORM表单数据
JSP表单如下
1 <form method="post" action="hao.do"> 2 a: <input id="a" type="text" name="a"/> 3 b: <input id="b" type="text" name="b"/> 4 <input type="submit" value="Submit" /> 5 </form>
Java Pojo如下
1 public class Pojo{ 2 private String a; 3 private int b; 4 }
Java Controller如下
1 @RequestMapping(method = RequestMethod.POST) 2 public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { 3 4 return "helloWorld"; 5 }
三、直接用HttpServletRequest获取
1 @RequestMapping(method = RequestMethod.GET) 2 public String get(HttpServletRequest request, HttpServletResponse response) { 3 System.out.println(request.getParameter("a")); 4 return "helloWorld"; 5 }
四、用注解@RequestParam绑定请求参数
用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
Controller如下
1 @RequestMapping(value = "/requestParam", method = RequestMethod.GET) 2 public String setupForm(@RequestParam("a") String a, ModelMap model) { 3 System.out.println(a); 4 return "helloWorld"; 5 }