使用@PathVariable接收两个参数
时间:2022-06-14 10:10:32|栏目:JAVA代码|点击: 次
@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' 请求参数
栏 目:JAVA代码
本文地址:http://www.codeinn.net/misctech/204737.html


阅读排行
- 1Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 2Java Swing组件BoxLayout布局用法示例
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4java中-jar 与nohup的对比
- 5深入理解Java中的克隆
- 6Java中自定义异常详解及实例代码
- 7解析SpringSecurity+JWT认证流程实现
- 8java读取excel文件的两种方法
- 9深入解析java虚拟机
- 10spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)




