springMVC参数的传递方式

  1. 通过@PathVariabl注解获取路径中传递参数
    JAVA
    1     @RequestMapping(value = "/{id}/{str}")
    2     public ModelAndView helloWorld(@PathVariable String id,
    3             @PathVariable String str) {
    4         System.out.println(id);
    5         System.out.println(str);
    6         return new ModelAndView("/helloWorld");
    7     }
  2. 用@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     
    5 

    JAVA controller
    1 @RequestMapping(method = RequestMethod.POST)
    2     public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { 
    3         
    4         return "helloWorld";
    5     }
  3. 直接用HttpServletRequest获取
    JAVA
    1     @RequestMapping(method = RequestMethod.GET)
    2     public String get(HttpServletRequest request, HttpServletResponse response) {
    4         System.out.println(request.getParameter("a"));
    5         return "helloWorld";
    6     }

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

    JAVA
    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";}

原文地址:https://www.cnblogs.com/hzcya1995/p/13317960.html