Spring MVC 的请求参数获取的几种方法

时间:2024-09-18 08:35:32

通过@PathVariabl注解获取路径中传递参数

     @RequestMapping(value = "/{id}/{str}")
public ModelAndView helloWorld(@PathVariable String id,
@PathVariable String str) {
System.out.println(id);
System.out.println(str);
return new ModelAndView("/helloWorld");
}

用@ModelAttribute注解获取POST请求的FORM表单数据

 <form method="post" action="hao.do">
a: <input id="a" type="text" name="a"/>
b: <input id="b" type="text" name="b"/>
<input type="submit" value="Submit" />
</form>
 public class Pojo{
private String a;
private int b; }
 @RequestMapping(method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { return "helloWorld";
}

直接用HttpServletRequest获取

     @RequestMapping(method = RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter("a"));
return "helloWorld";
}

用注解@RequestParam绑定请求参数a到变量a 
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决, 
例如: @RequestParam(value="a", required=false)

     @RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
System.out.println(a);
return "helloWorld"; }