springmvc中@PathVariable和@RequestParam的区别

简介: http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNow=2 你可以把这地址分开理解,其中问号前半部分:http://localhost:8080/Springmvc/user/page.
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){}
目录
相关文章
|
10月前
|
Java 网络架构
SpringMVC@PathVariable
SpringMVC@PathVariable
45 0
|
10月前
|
前端开发 网络架构
SpringMVC -->ant风格的路径 -->占位符 -->获取请求参数 -->@RequestParam
SpringMVC -->ant风格的路径 -->占位符 -->获取请求参数 -->@RequestParam
83 0
|
前端开发 JavaScript Java
解决springmvc使用@PathVariable路径匹配问题
解决springmvc使用@PathVariable路径匹配问题
解决springmvc使用@PathVariable路径匹配问题
|
XML JSON 数据格式
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(二)
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(二)
154 0
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(二)
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(一)
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(一)
94 0
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(一)
|
Java
SpringMVC之@PathVariable 映射 URL 绑定的占位符
SpringMVC之@PathVariable 映射 URL 绑定的占位符
145 0
SpringMVC - @PathVariable设置为空的问题(required=false)
SpringMVC - @PathVariable设置为空的问题(required=false)
604 0
|
XML JSON Java
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(三)
SpringMVC - @RequestMapping、@ResponseBody、@RequestBody、@RequestParam、@PathVariable(三)
120 0
springMvc @RequestParam注解技巧
springMvc @RequestParam注解技巧
138 0