使用@PathVariable接收两个参数
目录
- @PathVariable接收两个参数
- 首先
- 在Controller这样接收
- 记一个使用@PathVariable的坑
- 发现问题
- 解决过程
- 解决方案
- 第一种
- 第二种
- 第三种
- 第四种
@PathVariable接收两个参数
首先
@PathVariable无法接收对象,但是可以接收多个值
var data = obj.data; if(obj.event === 'edit'){ //var tmpData = encodeURI(JSON.stringify(data)); layer.open({ //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) type:2, title:"配置摄像头信息", area: ['750px','560px'], content: ['${pageContext.request.contextPath}/sectionInfo/configAntennaIndex/'+data.dmmc+'/'+data.cdh+'', 'no'] //iframe的url,no代表不显示滚动条 }); }
在Controller这样接收
@RequestMapping("configAntennaIndex/{dmmc}/{cdh}") public ModelAndView configAntennaIndex(@PathVariable String dmmc,@PathVariable String cdh){ //... }
记一个使用@PathVariable的坑
发现问题
前端路径拼接用户名,因为用户名中是带'.‘这个字符的。类似'Oliver.wang'。前端浏览器F12,发现路径正常拼接'xxxxxx/Oliver.wang?xxx=xxx',后端代码发现,controller层的参数,接收到只有'Oliver'。
解决过程
在方法中多加了一个参数(xxx,HttpServletRequest request){},输出request.ServletPath(),发现路径正常'/xxx/xxx/Oliver.wang'。
解决方案
第一种
加上 {:.+} ,比如 @getMapping(“xxx/{name:.+}”)
第二种
UrlEncode
第三种
request.ServletPath() 拿到路径截取字符串
第四种
不拼接路径,改成'xxxxx?name=Oliver.wang' 请求参数
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringMVC使用@PathVariable接收参数过程解析
PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中. 使用MVC时,总是出现一些问题,当然都是使用造成的. 今天遇到一个问题,使用@PathVariable
-
基于@PathVariable注解的用法说明
带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义. 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过 @PathVariable("xxx") 绑定到操作方法的入参中. 补充:@PathVariable接收两个参数 首先,@PathVariable无法接收对象,但是可以接收多个值 var data = obj.data;
-
使用@pathvariable与@requestparam碰到的一些问题及解决
目录 @pathvariable与@requestparam碰到的一些问题 一.@pathvariable 二.@requestparam @PathVariable和@RequestParam的使用说明 value的uri值为以下三类 拓展 @pathvariable与@requestparam碰到的一些问题 一.@pathvariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {x} 占位符可以通过@PathVariable("x") 绑定到操作方
-
处理@PathVariable注解允许参数为空、允许不传参数的问题
说明 设置可以不传: 但是请求的时候,仍然提示projectId必传: 这是因为url要求带参,属于REST参数. 解决办法 设置多个url path即可,有的传REST参,有的不传.当然required必须是false 这个问题以前解决过,--还是要温习一下比较好呀 补充:接收参数注解@PathVariable 与 @RequestParam与 不使用注解接收参数的情况 @RequestParam使用场景: @RequestParam: 顾名思义,获取请求参数的 @RequestParam的两
-
使用@PathVariable接收两个参数
目录 @PathVariable接收两个参数 首先 在Controller这样接收 记一个使用@PathVariable的坑 发现问题 解决过程 解决方案 第一种 第二种 第三种 第四种 @PathVariable接收两个参数 首先 @PathVariable无法接收对象,但是可以接收多个值 var data = obj.data; if(obj.event === 'edit'){ //var tmpData = encodeURI(JSON.stringify(data)); layer.o
-
GO接收GET/POST参数及发送GET/POST请求的实例详解
Golang: 接收GET和POST参数 GET 和 POST 是我们最常用的两种请求方式,今天讲一讲如何在 golang 服务中,正确接收这两种请求的参数信息. 处理GET请求 1.1 接收GET请求 //接收GET请求 func Get(writer http.ResponseWriter , request *http.Request) { query := request.URL.Query() // 第一种方式 // id := query["id"][0] // 第二种方式
-
SpringBoot2之PUT请求接收不了参数的解决方案
目录 HiddenHttpMethodFilter HttpPutFormContentFilter SpringBoot2之PUT请求接收不了参数的解决办法,这个问题,关乎两个Filter过滤器,是spring3和3.5之后提供的,目的就是解决RESTful中PUT请求或者其他请求的问题. 下面请看详细内容 HiddenHttpMethodFilter html中form表单只支持GET与POST请求,而DELETE.PUT等method并不支持,spring3添加了一个过滤器,可以将这些请求
-
axios 发 post 请求,后端接收不到参数的完美解决方案
目录 问题场景 问题原因 要点1 要点2 问题分析 解决方案 解决方案一 解决方案二 解决方案三 解决方案四 解决方案五 解决方案六 问题场景 场景很简单,就是一个正常 axios post 请求: axios({ headers: { 'deviceCode': 'A95ZEF1-47B5-AC90BF3' }, method: 'post', url: '/api/lockServer/search', data: { username, pwd } }) 后台说没有接收到你的传参. 这就有
-
HTA文件去除html控件认证和接收命令行参数
一是利用hta 去掉htm的控件验证 hta1的代码如下: 复制代码 代码如下: <html> <head> <title>Sample HTML Application one</title> </head> <body onload="Viewer.document.location.href='activexcontrol.htm'"> <iframe id="Viewer" app
-
C语言中 int main(int argc,char *argv[])的两个参数详解
C语言中 int main(int argc,char *argv[])的两个参数详解 argc是命令行总的参数个数: argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数.命令行后面跟的用户输入的参数. int main(int argc, char* argv[]) { int i; for (i = 0; i<argc; i++) cout<<argv[i]<<endl; cin>>i; return 0; } 执行时敲入 F:\MYDOCU
-
axios发送post请求springMVC接收不到参数的解决方法
axios发送post请求时,出现了参数后台接收不到的情况,分析了下请求,发现是请求头content-type不对,是application/json,正常应该是application/x-www-form-urlencoded. 解决方法有以下三种: 1.设置axios的默认请求头 //设置全局的 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; var instance = a
-
vue中filters 传入两个参数 / 使用两个filters的实现方法
先给大家介绍下vue中filters 传入两个参数 / 使用两个filters .vue 传入两个参数 <van-col>{{第一个参数|formatVisitTime(第二个参数)}}</van-col> 使用两个filters <van-tag plain :color="item.CreateTime(参数)|formatVisitDate(filters方法)|formatVisitDateColor(filters方法)">{{item.C
-
解决ajax的delete、put方法接收不到参数的问题方法
通过修改配置文件来实现Put和Delete请求的参数传递的问题 在web.xml中添加如下代码: <filter> <filter-name>HttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> </filter> <filter-mapping>
随机推荐
- 分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
- C# 定义常量 两种实现方法
- Jquery Easyui选项卡组件Tab使用详解(10)
- 简介JavaScript中的italics()方法的使用
- ThinkPHP 在阿里云上的nginx.config配置实例详解
- Java排序算法总结之插入排序
- shell脚本操作oracle删除表空间、创建表空间、删除用户
- python中字符串类型json操作的注意事项
- 深入分析node.js的异步API和其局限性
- touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
- 基于JQuery框架的AJAX实例代码
- Android 状态栏虚拟导航键透明效果的实现方法
- Ruby简洁学习笔记(二):类继承、属性、类变量
- SQL语句实现表中字段的组合累加排序
- JavaScript 特殊字符
- Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8 +phpMyAdmin 2.10.1环境配置安装教程图文详解
- 访问编码后的中文URL返回404错误的解决方法
- JS获取当前页面名称的简单实例
- 玩转虚拟域名◎+ .
- jQuery实现右侧抽屉式在线客服功能