使用@PathVariable接收兩個參數(shù)
@PathVariable接收兩個參數(shù)
首先
@PathVariable無法接收對象,但是可以接收多個值
var data = obj.data;
if(obj.event === 'edit'){
//var tmpData = encodeURI(JSON.stringify(data));
layer.open({
//layer提供了5種層類型??蓚魅氲闹涤校?(信息框,默認(rèn))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的坑
發(fā)現(xiàn)問題
前端路徑拼接用戶名,因為用戶名中是帶'.‘這個字符的。類似'Oliver.wang'。前端瀏覽器F12,發(fā)現(xiàn)路徑正常拼接'xxxxxx/Oliver.wang?xxx=xxx',后端代碼發(fā)現(xiàn),controller層的參數(shù),接收到只有'Oliver'。
解決過程
在方法中多加了一個參數(shù)(xxx,HttpServletRequest request){},輸出request.ServletPath(),發(fā)現(xiàn)路徑正常'/xxx/xxx/Oliver.wang'。
解決方案
第一種
加上 {:.+} ,比如 @getMapping(“xxx/{name:.+}”)
第二種
UrlEncode
第三種
request.ServletPath() 拿到路徑截取字符串
第四種
不拼接路徑,改成'xxxxx?name=Oliver.wang' 請求參數(shù)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springIOC的使用流程及spring中使用類型轉(zhuǎn)換器的方式
Spring IOC是Spring框架的核心原理之一,它是一種軟件設(shè)計模式,用于管理應(yīng)用程序中的對象依賴關(guān)系,這篇文章主要介紹了springIOC的使用流程以及spring中如何使用類型轉(zhuǎn)換器,需要的朋友可以參考下2023-06-06
spring-cloud入門之spring-cloud-config(配置中心)
這篇文章主要介紹了spring-cloud入門之spring-cloud-config(配置中心),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
MyBatis-Plus 插件擴(kuò)展的實現(xiàn)
MyBatis-Plus通過插件擴(kuò)展機(jī)制增強(qiáng)功能,基于MyBatis Interceptor攔截器,包括分頁插件、邏輯刪除、SQL性能分析和樂觀鎖等,開發(fā)者可自定義插件以適應(yīng)特定需求,有效地增強(qiáng)SQL執(zhí)行過程的控制和優(yōu)化,同時注意插件使用的性能影響和執(zhí)行順序2024-09-09
Java使用FileInputStream流讀取文件示例詳解
這篇文章主要介紹了Java使用FileInputStream流讀取文件示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
詳談Java 異常處理的誤區(qū)和經(jīng)驗總結(jié)(分享)
下面小編就為大家分享一篇Java 異常處理的誤區(qū)和經(jīng)驗總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12

