博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@params、@PathVariabl和@RequestParam用法与区别
阅读量:4348 次
发布时间:2019-06-07

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

【1】params

params: 指定request中必须包含某些参数值是,才让该方法处理。

@RequestMapping(value = "testParamsAndHeaders", params = { "username","age!=10" }) public String testParamsAndHeaders() { System.out.println("testParamsAndHeaders"); return SUCCESS; }
  • 1
  • 2
  • 3
  • 4
  • 5

params 只是判断url 或者 form data 中的参数是否复合params的定义,并不会直接绑定数据到方法的参数中!


【2】@PathVariabl

  • 绑定路径中的占位符参数到方法参数变量中;

  • 只能绑定路径中的占位符参数,且路径中必须有参数。

无论是 GET 或者POST 只要 URL中有参数即可!

如:

  • GET
Request URL:http://localhost:8080/SpringMVC-1/springmvc/testPathVariable/1
  • 1
  • POST
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

【注意:】如果URL中无参数,将会出错;如果URL有参数,但是没有使用@PathVariabl该注解,那么URL的参数不会默认与方法参数绑定!方法里的参数会默认绑定表单里面对应的参数!


  • 后台code

如果参数名与占位符一致,则可直接使用@PathVariable;

如果不一致,则在@PathVariable( )括号内绑定占位符。

@RequestMapping("/testPathVariable/{id}")    public String testPathVariable(@PathVariable("id") Integer id2) {        System.out.println("testPathVariable: " + id2); return SUCCESS; }
  • 1
  • 2
  • 3
  • 4
  • 5

【3】@RequestParam

  • value:参数key,可以不写,默认为”“;

  • name:和value作用一样;

  • required:默认值为true,可以不写;

  • 获取URL或者 form data 中的参数

这里写图片描述


  • GET
  • 1
  • POST
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意 :

GET中的参数形式为:username=tom&age=11&sex=boy

POST中的参数形式为:以键值对形式保存在form data

这里写图片描述


后台:

@RequestMapping(value="/regist",produces="application/json;charset=utf-8")    @ResponseBody    public String regist(SysUser sysUser , @RequestParam(required=true,name="sex") String sex){        String userName = sysUser.getUserName();        String age = sysUser.getAge();        //...        return "regist success"; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

总得来说,均是键值对形式。与@PathVariabl中的占位符形式不同!!!

 

原文链接   :  https://blog.csdn.net/j080624/article/details/56280382

转载于:https://www.cnblogs.com/helloworld6379/p/9501943.html

你可能感兴趣的文章
sql server自定义函数
查看>>
badboy录制的登录脚本在jmeter中登录不成功
查看>>
C++解析(23):多态与C++对象模型
查看>>
Bootstrap 标签页
查看>>
c++ 吕凤翥 第五章 类对象一
查看>>
maven:新建的maven工程需要添加一下插件
查看>>
关于iOS自定义控件:在view上实现事件和代理
查看>>
[扫描线]POJ2932 Coneology
查看>>
全局变量与全局静态变量的区别
查看>>
oo第一次作业总结
查看>>
EMC队列 发件人为空 From Address: <>
查看>>
多路复用IO模型 IO multiplexing
查看>>
升级WordPress
查看>>
蒙蒙的Git
查看>>
js方法遇到就记录
查看>>
Codeforces-868C. Qualification Rounds(状压)
查看>>
iReport采用JDBC的方式连接Oracle
查看>>
MongoDB 数据库的可视化
查看>>
AOP中的相关概念
查看>>
【转】内存溢出、内存泄漏、内存越界、缓冲区溢出、栈溢出
查看>>