Spring MVC 的请求参数获取

本文介绍了Spring MVC中多种请求参数的获取方式,包括使用@PathVariable获取路径参数、@ModelAttribute获取POST表单数据、直接使用HttpServletRequest对象及@RequestParam注解绑定请求参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



Spring MVC 的请求参数获取

1.通过@PathVariabl注解获取路径中传递参数

[java] view plain copy
  1. @RequestMapping(value="/{id}/{str}")
  2. publicModelAndViewhelloWorld(@PathVariableStringid,
  3. @PathVariableStringstr){
  4. System.out.println(id);
  5. System.out.println(str);
  6. returnnewModelAndView("/helloWorld");
  7. }

2.用@ModelAttribute注解获取POST请求的FORM表单数据

[html] view plain copy
  1. <formmethod="post"action="hao.do">
  2. a:<inputid="a"type="text"name="a"/>
  3. b:<inputid="b"type="text"name="b"/>
  4. <inputtype="submit"value="Submit"/>
  5. </form>


JAVA pojo
[java] view plain copy
  1. publicclassPojo{
  2. privateStringa;
  3. privateintb;
  4. ....


3. 直接用 HttpServletRequest获取

[java] view plain copy
  1. @RequestMapping(method=RequestMethod.GET)
  2. publicStringget(HttpServletRequestrequest,HttpServletResponseresponse){
  3. System.out.println(request.getParameter("a"));
  4. return"helloWorld";
  5. }

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

[java] view plain copy
  1. @RequestMapping(value="/requestParam",method=RequestMethod.GET)
  2. publicStringsetupForm(@RequestParam("a")Stringa,ModelMapmodel){
  3. System.out.println(a);
  4. return"helloWorld";
  5. }


Spring MVC 的请求参数获取

1.通过@PathVariabl注解获取路径中传递参数

[java] view plain copy
  1. @RequestMapping(value="/{id}/{str}")
  2. publicModelAndViewhelloWorld(@PathVariableStringid,
  3. @PathVariableStringstr){
  4. System.out.println(id);
  5. System.out.println(str);
  6. returnnewModelAndView("/helloWorld");
  7. }

2.用@ModelAttribute注解获取POST请求的FORM表单数据

[html] view plain copy
  1. <formmethod="post"action="hao.do">
  2. a:<inputid="a"type="text"name="a"/>
  3. b:<inputid="b"type="text"name="b"/>
  4. <inputtype="submit"value="Submit"/>
  5. </form>


JAVA pojo
[java] view plain copy
  1. publicclassPojo{
  2. privateStringa;
  3. privateintb;
  4. ....


3. 直接用 HttpServletRequest获取

[java] view plain copy
  1. @RequestMapping(method=RequestMethod.GET)
  2. publicStringget(HttpServletRequestrequest,HttpServletResponseresponse){
  3. System.out.println(request.getParameter("a"));
  4. return"helloWorld";
  5. }

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

[java] view plain copy
  1. @RequestMapping(value="/requestParam",method=RequestMethod.GET)
  2. publicStringsetupForm(@RequestParam("a")Stringa,ModelMapmodel){
  3. System.out.println(a);
  4. return"helloWorld";
  5. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值