广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用@PathVariable接收两个参数
  • 207
分享到

使用@PathVariable接收两个参数

2024-04-02 19:04:59 207人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录@PathVariable接收两个参数首先在Controller这样接收记一个使用@PathVariable的坑发现问题解决过程解决方案第一种第二种第三种第四种@PathVari

@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' 请求参数

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用@PathVariable接收两个参数

本文链接: https://www.lsjlt.com/news/133292.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作