请求参数获取的几种方法

1、使用@PathVariable注解

    @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"); 
     } 

@PathVariable也可以获取含正则表达式的一类值

例如:

@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\d\.\d\.\d}.{extension:\.[a-z]}")  

  public void handle(@PathVariable String version, @PathVariable String extension) {      

    // ...  

  }  

} 


2@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"; 
   }


3直接用HttpServletRequest获取 

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


4用注解@RequestParam

绑定请求参数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";

}


猜你喜欢

转载自blog.csdn.net/u013789656/article/details/80927730