博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈 @RequestParam 和@PathVariable
阅读量:5021 次
发布时间:2019-06-12

本文共 1707 字,大约阅读时间需要 5 分钟。

版权声明:本文为博主原创文章,如果对你有用,敬请带走! https://blog.csdn.net/chuck_kui/article/details/55506723

首先 上两个地址:

地址①http://localhost:8989/SSSP/emps?pageNo=2

地址②http://localhost:8989/SSSP/emp/7

 

如果想获取地址①中的 pageNo的值 ‘2’ ,则使用  @RequestParam ,

如果想获取地址②中的 emp/7 中的 ‘7 ’   则使用 @PathVariable

 

获取地址① 中的‘2’ 使用的 方法是如下

 

  1. @RequestMapping(
    "/emps")
  2. public String list(@RequestParam(value="pageNo",required=false,
  3. defaultValue="1")String pageNoStr,Map<String, Object>map){
  4.  
  5. int pageNo =
    1;
  6.  
  7. try {
  8. //对pageNo 的校验
  9. pageNo = Integer.parseInt(pageNoStr);
  10. if(pageNo<
    1){
  11. pageNo =
    1;
  12. }
  13. }
    catch (Exception e) {}
  14.  
  15. Page<Employee> page = employeeService.getPage(pageNo,
    5);
  16. map.put(
    "page",page);
  17.  
  18. return
    "emp/list";
  19. }
获取地址② 中的 ‘7’ 使用的方法是如下:

 

  1. @RequestMapping(value=
    "/emp/{id}",method=RequestMethod.GET)
  2. public String edit(@PathVariable("id")Integer id,Map<String , Object>map){
  3. Employee employee = employeeService.getEmployee(id);
  4. List<Department> departments = departmentService.getAll();
  5. map.put(
    "employee", employee);
  6. map.put(
    "departments", departments);
  7. return
    "emp/input";
  8. }

大道理不讲 原理也不分析就记忆一点,那一点呢? 看‘这个符号‘?’ 

1. 若获取的入参的 参数 是下面这种形式 就使用 @requestParam 去获取 参数‘2’

/emps?pageNo=2

2. 若获取的入参的 参数 是下面这种形式 就使用 @PathVariable 去获取参数 ‘7’

/emp/7

 

多说一点,拽一下奋斗

RequestParam  汉语意思就是: 请求参数 顾名思义 就是获取参数的 

PathVariable 汉语意思是:路径变量,顾名思义,就是要获取一个url 地址中的一部分值,那一部分呢? RequestMapping 上说明了@RequestMapping(value="/emp/{id}"),我就是想获取你URL地址 /emp/ 的后面的那个 {id}的。

 

so,就看‘?’ 若是想获取 ‘?’ 后面的pageNo 的值 ‘2’, 就使用RequestParam ,

若想获取的是url 地址的一部分 ‘7’ 就使用PathVariable 

尴尬

@PathVariable是用来获得请求url中的动态参数的

理论 可看 下面的博文

http://blog.csdn.net/walkerjong/article/details/7946109   

 

http://dorole.com/tag/uri-template/

http://blog.csdn.net/jaryle/article/details/51851120       

 

 

 

转载于:https://www.cnblogs.com/xuxinstyle/p/9865606.html

你可能感兴趣的文章
ASP.net MVC4 View设置Html代码显示为文本字符问题
查看>>
go语言之进阶篇关闭channel
查看>>
《那些年啊,那些事——一个程序员的奋斗史》——65
查看>>
opencv 内存溢出问题
查看>>
简单的静态网页(宠物网)
查看>>
HDU 5410(2015多校10)-CRB and His Birthday(全然背包)
查看>>
hdu 2874 Connections between cities(st&rmq LCA)
查看>>
【Linux基础学习之五】Linux管理命令的基础学习(df、du、free、kill、tar等)
查看>>
20171115
查看>>
求最长公共子串
查看>>
根据百度API获得经纬度,然后根据经纬度在获得城市信息
查看>>
强制客户端更新Silverlight XAP文件方法汇总(转)
查看>>
Android tabLayout+recyclerView实现锚点定位
查看>>
numpy.squeeze()的用法
查看>>
数字滤波器 C语言
查看>>
JAVA基础知识 String s = new String("ABC") VS String s = "abc"
查看>>
mysql 数据库,表存储 大小
查看>>
将博客搬至CSDN
查看>>
Spring AOP编程
查看>>
2017.2.18[codevs3311][bzoj3668]NOI2014D1T1起床困难综合症
查看>>