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:.+}")
好了 这样问题就解决了