首先 上两个地址:
地址①
http://localhost:8989/SSSP/emps?pageNo=2
地址②
http://localhost:8989/SSSP/emp/7
如果想获取地址①中的 pageNo的值 ‘2’ ,则使用 @RequestParam ,
如果想获取地址②中的 emp/7 中的 ‘7 ’ 则使用 @PathVariable

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

    @RequestMapping("/emps")
public String list(@RequestParam(value="pageNo",required=false,
defaultValue="1")String pageNoStr,Map<String, Object>map){ int pageNo = 1; try {
//对pageNo 的校验
pageNo = Integer.parseInt(pageNoStr);
if(pageNo<1){
pageNo = 1;
}
} catch (Exception e) {} Page<Employee> page = employeeService.getPage(pageNo, 5);
map.put("page",page); return "emp/list";
}

获取地址② 中的 ‘7’ 使用的方法是如下:

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

大道理不讲 原理也不分析就记忆一点,那一点呢? 看‘这个符号‘?’
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/chuck_kui/article/details/55506723

浅析 @PathVariable 和 @RequestParam(转发,非原创)的更多相关文章

  1. 转载:浅析@PathVariable 和 @RequestParam

    在网上看了一篇很好的文章,讲的很清楚明了,说到了点子上(转自:https://blog.csdn.net/chuck_kui/article/details/55506723): 首先 上两个地址: ...

  2. 浅析 @PathVariable 和 @RequestParam

    一.代码实例 首先,上两个地址: 地址1:http://localhost:8989/SSSP/emps?pageNo=2 地址2:http://localhost:8989/SSSP/emp/7 如 ...

  3. Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager 转发非原创

    Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager   Redis缓存服务器是一款key/value数据库,读11 ...

  4. SpringBoot实战(四)获取接口请求中的参数(@PathVariable,@RequestParam,@RequestBody)

    上一篇SpringBoot实战(二)Restful风格API接口中写了一个控制器,获取了前端请求的参数,现在我们就参数的获取与校验做一个介绍: 一:获取参数 SpringBoot提供的获取参数注解包括 ...

  5. springmvc中@PathVariable和@RequestParam的区别

    顾名思义, @PathVariable和@RequestParam,分别是从路径里面去获取变量,也就是把路径当做变量,后者是从请求里面获取参数. 我的url; http://localhost:808 ...

  6. Linux下high CPU分析心得【非原创】

    非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高ga ...

  7. CSS样式命名整理(非原创)

    非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体 ...

  8. springmvc请求路径和请求参数的获取注解- @PathVariable和@RequestParam

    @PathVariable和@RequestParam @PathVariable是从路径里面去获取变量,也就是把路径当做变量. @RequestParam是从请求里面获取参数. 如:url:http ...

  9. 非原创。使用ajax加载控件

    非原创.来自博客园老赵. public class ViewManager<T> where T : System.Web.UI.UserControl { private System. ...

随机推荐

  1. MySQL — 优化之explain执行计划详解(转)

    EXPLAIN简介 EXPLAIN 命令是查看查询优化器如何决定执行查询的主要方法,使用EXPLAIN,只需要在查询中的SELECT关键字之前增加EXPLAIN这个词即可,MYSQL会在查询上设置一个 ...

  2. [转帖]wifi 4G 和 蓝牙的区别

    作者:沈万马链接:https://www.zhihu.com/question/64739486/answer/225227838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  3. 下拉框插件select2的使用

    它的优点有: 样式还算好看,支持多选,支持索搜 下面来介绍下select2的用法 1.最简单的用法 只需要加载css和js即可使用 <select name="" id=&q ...

  4. 模态框 modal data-toggle data-target

    模态框 modal data-toggle data-target   1. Data-*属性 模态框(modal) 触发事件(data-toggle) 触发对象data-target(ID 或类) ...

  5. 【git】git add 添加错文件 撤销

     git add 添加 多余文件 这样的错误是由于, 有的时候 可能 git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件 git add 如果添加了错误的文件的话 撤销操 ...

  6. valgrind 检查内存泄露

    https://www.oschina.net/translate/valgrind-memcheck

  7. Java多线程0:核心理论

    并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰.思维缜密,这样才能写出高效.安全.可靠的多线程并发程序.本系 ...

  8. TestNG之使用ReportNG生成测试报告

    TestNG使用ReportNG生成测试报告会更加美观. 依赖包 <!--testNG报告依赖包--> <dependency> <groupId>org.test ...

  9. Jsoup的使用

    http://caidongrong.blog.163.com/blog/static/21424025220139292525874/

  10. Sql server 系统表

    sql server系统表详细说明 SQL Server 用户库中系统表说明 名称 说明 备注 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   sys ...