本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
使用@PathVariable接收两个参数
吴振华 · 265浏览 · 发布于2021-08-23 +关注

这篇文章主要介绍了使用@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' 请求参数


相关推荐

PHP实现部分字符隐藏

沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 908浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 970浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 962浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 1086浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
坐标是江苏.南京,行业是互联网,技术是PHP和java,还有熟悉前后端等。
分类专栏
小鸟云服务器
扫码进入手机网页