springmvc中@PathVariable和@RequestParam的区别
2016-05-30 20:24
459 查看
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
你可以把这地址分开理解,其中问号前半部分: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
相关文章推荐
- eclipse的版本
- 爱奇艺视频解析(Java代码)(16.5.30更新)
- Easy-题目34:119. Pascal's Triangle II
- Java 并发工具包 java.util.concurrent 用户指南
- 69道Spring面试题和答案
- Java跨域设置
- Java反射机制 初步(二)
- Java反射机制 初步(一)
- Java之IO操作总结
- SPRING SECURITY 拦截静态资源
- SPRING SECURITY 拦截静态资源
- (Java)LeetCode-18. 4Sum
- web.xml中classpath和classpath*的区别
- 优酷视频解析(16.5.30更新)Java代码版本
- java5.30学习笔记
- Easy-题目4:226. Invert Binary Tree
- Easy-题目3:104. Maximum Depth of Binary Tree
- struts2验证规则validation配置文件命名方式总结
- 在spring框架中配置Quartz定时器发生错误: class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as sup
- struts2验证规则validation配置文件命名方式总结