DWR分页页面导出时后台使用URLDecoder.decode抛出错误

DWR分页页面导出时后台使用URLDecoder.decode抛出异常

最近客户在用的项目中,分页页面在导出excel抛出

java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern

 

该页面采用的是DWR分页,经过一番搜罗,终于修成正果.解决办法
DWR分页页面导出时后台使用URLDecoder.decode抛出错误
 大致意思都懂了,我们只需要将传入后台的参数字符在decode之前使用replaceAll('%','%25')一下即可

try {
     pageTitle = java.net.URLDecoder.decode(pageTitle,"UTF-8");
     sc = java.net.URLDecoder.decode(sc ,"UTF-8"); 
} catch (UnsupportedEncodingException e) {	
     e.printStackTrace();
}  

 修正后代码如下:

 

try {
     pageTitle = java.net.URLDecoder.decode(pageTitle.replaceAll("%", "%25"),"UTF-8");
     sc = java.net.URLDecoder.decode(sc.replaceAll("%", "%25") ,"UTF-8"); 
} catch (UnsupportedEncodingException e) {	
     e.printStackTrace();
}  

部分引用来自: http://dwr.2114559.n2.nabble.com/Exception-URLDecoder-Incomplete-trailing-escape-pattern-td5396332.html