springmvc中@PathVariable和@RequestParam的区别

转载 2016年05月30日 20:24:32
http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNow=2

你可以把这地址分开理解,其中问号前半部分:http://localhost:8080/Springmvc/user/page.do 这个就是路径,是你的请求url,而如果这个路径上有数据匹配,用的就是@PathVariable  如
@RequestMapping(value="/page{pageNo}.do")
public String page(@PathVariable int pageNo){}
【注意:看下这地方的@RequestMapping的地址,对照我上面说的路径】

问号的后面部分就是请求参数部分,是要向请求路径提交的参数信息,用的就是@RequestParam ,对于这种参数,如果你要用的话,代码应该如下:
@RequestMapping(value="/page.do")
public String page(@RequestParam int pageSize,@RequestParam  int pageNow){}

【注意:这个代码的RequestMapping地址只需要/page.do就行】


其实你只要把什么叫请求路径,什么叫请求参数分清楚,也就能理解@PathVariable和@RequestParam

我再举个例子,就拿你这个问题在iteye上的地址为例,http://www.iteye.com/problems/101566 这个如果对应sprimgmvc里面,想获取问题编号101566,因为这个地址直接就是请求路径,是一个url,所以代码中用的应该是@PathVariable,如下:
@RequestMapping(value="/problems/{problemId}")

public String showProblem(@PathVariable int problemId){}



原文地址:http://www.iteye.com/problems/101566

spring mvc 中@pathvariable和@RequestParam注解的区别

@pathVariable和RequestParam的区别:顾名思义,前者是从路径中获取变量,也就是把路径当做变量,后者是从请求里面获取参数 1、 @PathVariable  当使用@Re...
  • jaryle
  • jaryle
  • 2016年07月07日 14:47
  • 1479

spring 注解@PathVariable和@RequestParam的区别

@RequestParam注解是获取静态URL传入的参数 @PathVariable是获取请求路径中的变量作为参数 如下例子: @RestController @RequestMappi...
  • yaomingyang
  • yaomingyang
  • 2017年10月14日 16:04
  • 508

Spring MVC -- @PathVariable和@RequestParam的区别

请求路径上有个id的变量值,可以通过@PathVariable来获取  @RequestMapping(value = "/page/{id}", method = RequestMethod.GET...
  • u010286334
  • u010286334
  • 2015年06月18日 16:35
  • 1182

@RequestParam,@PathParam,@PathVariable等注解区别

@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @P...
  • u011410529
  • u011410529
  • 2017年03月27日 19:03
  • 10044

浅析 @PathVariable 和 @RequestParam

首先 上两个地址: 地址① http://localhost:8989/SSSP/emps?pageNo=2 地址② http://localhost:8989/SSSP/emp/7 ...
  • chuck_kui
  • chuck_kui
  • 2017年02月17日 12:55
  • 1935

@RequestParam和不用的区别以及和 @PathVariable 的区别,简单易懂

1:简单地说,不用的话,前台jsp页面的参数名称必须和此处方法的形参名字一样: 比如:前台是userId  @RequestMapping("/test2")     public String te...
  • CarryBest
  • CarryBest
  • 2017年04月20日 11:04
  • 855

@PathVariable和@RequestParam

@PathVariable和@RequestParam的区别 请求路径http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNo...
  • guochunyang
  • guochunyang
  • 2015年11月17日 14:42
  • 2558

SpringMVC的@ModelAttribute和@RequestParam、@PathVariable、@CookieValue、@SessionAttributes

0、@ModelAttribute绑定请求参数到命令对象 @ModelAttribute一个具有如下三个作用: ①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命...
  • yansong_8686
  • yansong_8686
  • 2015年09月08日 00:38
  • 1135

JAX-RS:@PathVariable @RequestParam @ModelAttribute等参数绑定注解详解

目录(?)[-] 引言简介 PathVariableRequestHeaderCookieValueRequestParam RequestBodySessionAttributes ModelA...
  • pange1991
  • pange1991
  • 2015年08月27日 09:52
  • 2092

@RequestParam,@PathVariable,@ResponseBody,@RequestBody,@ModelAttribute学习

1、@RequestParam 使用于参数上,用于将请求参数映射到指定参数变量上 例如: @RequestMapping(value="/hello",method=RequestMethod.GET...
  • zz210891470
  • zz210891470
  • 2017年03月02日 23:16
  • 935
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:springmvc中@PathVariable和@RequestParam的区别
举报原因:
原因补充:

(最多只允许输入30个字)