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

学习Spring mvc中,转载收集部分资料,以后慢慢修改加入个人经验,不喜勿喷
通过@PathVariabl注解获取路径中传递参数
JAVA
@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表单数据
JSP
<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>

JAVA pojo
 public class Pojo{
 private String a;
 private int b;
}

JAVA controller
@RequestMapping(method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {
 return "helloWorld";
 }



直接用HttpServletRequest获取
JAVA
@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)
JAVA
@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
 System.out.println(a);
return "helloWorld";} 

你可能感兴趣的:(spring,mvc)