1,在Spring boot 中前端页面传入参数给后台
例子:
jsp中的js代码
function totest(){
var selectedtest = datagrid.datagrid('getSelected');
if (null != selectedtest) {
parent.createTab('${app}/to/test/'+selectedtest.name+"/"+selectedtest.address,'修改映
}else{
$.messager.alert('提示', '请先选择列表中的数据再进行处理!', 'info');
}
前端传入的address 为com.baidu.com
后台代码
@RequestMapping("/to/test/{name}/{address}")
public String totest(@PathVariable(value = "name") String name,@PathVariable(value = "address") String address) {
//这个时候接受到的address 为 com
}
原因说明
Spring将点(.)后面的最后一部分解释为文件扩展名,如.json或.xml。因此,当Spring试图解析路径变量时,它只是在URI末尾遇到一个点(.)后截断其余的数据。注意:只有将路径变量保存在URI的末尾,才会发生这种情况。
解决方案
1:最简单的就是将带点的不要放在最后,可以和selectedtest.name换一下位置,或者在这个路径下随便加一个字符串
${app}/to/test/'+selectedtest.name+"/"+selectedtest.address/test,只是有个小尾巴这样看着别扭
2:改变就收的 为@RequestMapping("/to/test/{name}/{address:.+}")
好了 这样问题就解决了
————————————————
版权声明:本文为CSDN博主「java美女」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38680031/article/details/99678207