在java总如何解决传参乱码问题

killads
发布于 2020-8-31 19:21
浏览
0收藏

业务场景
 

首先描述业务场景。 要实现的功能是通过搜索框填写参数,然后单击按钮以搜索数据,在搜索框中获取查询参数,将其附加到链接,调整Excel表界面,然后实现 导出Excel功能。 实际上,导出Excel表的功能不仅可以通过链接调用来实现,还可以通过form表单提交方法来实现。

不过本博客介绍的是通过链接调接口时候遇到的乱码问题,其实就是查询参数传到后台,就出现乱码了。导致查询条件失效,不能按查询条件导出Excel表。

解决方法
下面介绍一下解决方法。
原来的方法,就是直接传参数,直接调接口

function exportExcel() {
 var url = 导Excel表接口;
 url +=参数; 
 location.href = url; 
}


改造方法:加上encodeURIComponent(encodeURIComponent())两次加密,然后到后台再解码

function exportExcel() {
 var url = 导Excel表接口;
 url += encodeURIComponent(encodeURIComponent(参数)); 
 location.href = url; 
}


后台对参数进行解码,要加上jdk提供的URLDecoder和Spring框架提供的StringUtils进行非空校验
import java.net.URLDecoder;
import org.springframework.util.StringUtils;

 

   if(!StringUtils.isEmpty(参数)) {
           String 参数 = URLDecoder.decode(参数, Constants.UTF_8));
     }

分类
标签
已于2020-9-1 16:41:11修改
收藏
回复
举报
回复
    相关推荐