首页 > 代码库 > springMvc源码学习之:spirngMvc获取请求参数的方法

springMvc源码学习之:spirngMvc获取请求参数的方法

一、      通过@PathVariabl获取路径中的参数

    @RequestMapping(value="http://www.mamicode.com/user/{id}/{name}",method=RequestMethod.GET)    public String printMessage1(@PathVariable String id,@PathVariable String name, ModelMap model) {                System.out.println(id);        System.out.println(name);        model.addAttribute("message", "111111");        return "users";    }

例如,访问user/123/lei路径时,执行以上方法,其中,参数id=123,name=lei

 

二、      @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获取

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

 

四、      用注解@RequestParam绑定请求参数

用注解@RequestParam绑定请求参数a到变量a

当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,

例如: @RequestParam(vhttp://www.mamicode.com/alue="a", required=false)

Controller如下

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

 

springMvc源码学习之:spirngMvc获取请求参数的方法