springmvc请求参数获取的几种方法

一、通过@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 }

 

posted @ 2016-04-21 08:42  十月de木北  阅读(411)  评论(0编辑  收藏  举报