http://blog.csdn.net/yangbobo1992/article/details/10076335

________________________________________________________

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

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

该页面采用的是DWR分页,经过一番搜罗,终于修成正果.解决办法

 大致意思都懂了,我们只需要将传入后台的参数字符在decode之前使用replaceAll('%','%25')一下即可

  1. try {
  2. pageTitle = java.net.URLDecoder.decode(pageTitle,"UTF-8");
  3. sc = java.net.URLDecoder.decode(sc ,"UTF-8");
  4. } catch (UnsupportedEncodingException e) {
  5. e.printStackTrace();
  6. }

修正后代码如下:

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

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

特别注意:

有些时候导出excel时采用的是get方式导致URL字符串长度过长,改用POST方式可以解决以上问题。

使用js实现POST表单提交代码片段:

  1. function post(URL, PARAMS)
  2. {
  3. //创建一个临时表单
  4. var tempForm = document.createElement("form");
  5. tempForm.action = URL;
  6. tempForm.method = "post";
  7. tempForm.style.display = "none";
  8. //遍历各个参数,将文本域添加至表单中
  9. for (var x in PARAMS)
  10. {
  11. var opt = document.createElement("textarea");
  12. opt.name = x;
  13. opt.value = PARAMS[x];
  14. tempForm.appendChild(opt);
  15. }
  16. //将表单添加至当前页面中.
  17. document.body.appendChild(tempForm);
  18. //提交表单.
  19. tempForm.submit();
  20. }

也可参照此方法解决:http://blog.csdn.net/zhensoft163/article/details/7298161

URLDecoder: Incomplete trailing escape (%) pattern问题处理的更多相关文章

  1. URLDecoder: Incomplete trailing escape (%) pattern

    在使用URLDecoder对字符串进行解码的时候 报以下异常信息: Exception in thread "main" java.lang.IllegalArgumentExce ...

  2. URLDecoder: Illegal hex characters in escape (%) pattern - For input string

    原因:后台发布文章的时候,内容里面有%,导致后台URLDecoder.decode()转码的时候报错. 看了java.net.URLDecoder的decode()的源码,原来是转码错误. 贴出部分代 ...

  3. java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: " 0"

    value = URLDecoder.decode(request.getParameter(paraName), "UTF-8"); 前端用了 encodeURI 来编码参数,后 ...

  4. java转换编码报错java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern

    Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex cha ...

  5. java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern - For input string)

    在附件名称中含有%的时候,上传附件进行url编码解析的时候会出错,抛出异常: Exception in thread "main" java.lang.IllegalArgumen ...

  6. URLDecoder异常Illegal hex characters in escape (%)

    URLDecoder对参数进行解码时候,代码如: URLDecoder.decode(param,"utf-8"); 有时候会出现类似如下的错误: URLDecoder异常Ille ...

  7. URLDecoder异常解决方法

    URLDecoder对参数进行解码时候,代码如: URLDecoder.decode(param,"utf-8"); 有时候会出现类似如下的错误: URLDecoder异常Ille ...

  8. URL编码 URLEncoder 示例

    2016-12-27 对字符编码时的规则 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据. 对于Url来说,之所以要进行编码,一个是因为Url中有些字符 ...

  9. JAVA判断URL地址是否非法

    /** * 判断请求url是否非法 * @param url * @return */ public static boolean isValidRequestUri(String url) { if ...

随机推荐

  1. PHP 图像因其本身有错无法显示怎么办

    1 先确认自己的PHP和GD库版本够高,根据PHP手册的要求,PHP最好高于4.0.6,GD库要求2.0.1 2 对于使用PHPNOW的用户,在首页就可以找到相关信息 3 你也可以运行以下代码来检测是 ...

  2. 退出app 退出应用程序

    退出app的两种方式1   创建activity的基类,让所有的activity都继承该基类,在基类中创建一个静态的activity列表,并在oncreate方法添加该activity,在退出时,遍历 ...

  3. angular中$location读取url信息

    读取url信息: <html ng-app="myApp"> <head> <title>angularjs-demo</title> ...

  4. WCF 之 消息契约(MessageContract)

    对于SOAP来说主要由两部分构成Header和Body,他们两个共同构成了SOAP的信封,通常来说Body保存具体的数据内容,Header保存一些上下文信息或关键信息. 比如:在一些情况下,具有这样的 ...

  5. codechef The Ball And Cups题解

    The Ball And Cups At the end of a busy day, The Chef and his assistants play a game together. The ga ...

  6. javascript 内置类型

    JavaScript有七种内置类型: 空类型:null 未定义:undefined 布尔:boolean 数字:number 字符串:string 对象:object 符号:symbol(ES6新增) ...

  7. 〖Fedora〗设置Fedora静态ip地址

    root@Fedora:~# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82540EM Gigabit Eth ...

  8. 中文latex参考文献格式

    中文latex参考文献格式 原来英文: \begin{thebibliography}{1} \bibitem{Ben-Shimon2015RecSys} D.~Ben-Shimon, A.~Tsik ...

  9. 【ASP.NET MVC系列】浅谈MVC

    描述 本篇文章主要概述ASP.NET MVC,具体包括如下内容: 1.MVC模式概述 2.WebForm概述 3.WebForm与MVC区别 4.ASP.NET MVC发展历程 5.运用程序结构 6. ...

  10. [Unity3D]Unity+Android交互教程——让手机&quot;动&quot;起来

    想要用Unity实现一个二维码扫描的功能,然后网上找插件,找到一个貌似叫EasyCodeScanner,但下载下来用用.真不好使,一导入执行就报错.调好错了再执行发现点button没反应.重复试了几遍 ...