URLDecoder: Incomplete trailing escape (%) pattern问题处理
来源:互联网 发布:淘宝新店推广软件 编辑:程序博客网 时间:2024/06/07 06:49
最近在用的项目中,分页页面在导出excel抛出
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
该页面采用的是DWR分页,经过一番搜罗,终于修成正果.解决办法
大致意思都懂了,我们只需要将传入后台的参数字符在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
特别注意:
有些时候导出excel时采用的是get方式导致URL字符串长度过长,改用POST方式可以解决以上问题。
使用js实现POST表单提交代码片段:
- function post(URL, PARAMS)
- {
- //创建一个临时表单
- var tempForm = document.createElement("form");
- tempForm.action = URL;
- tempForm.method = "post";
- tempForm.style.display = "none";
- //遍历各个参数,将文本域添加至表单中
- for (var x in PARAMS)
- {
- var opt = document.createElement("textarea");
- opt.name = x;
- opt.value = PARAMS[x];
- tempForm.appendChild(opt);
- }
- //将表单添加至当前页面中.
- document.body.appendChild(tempForm);
- //提交表单.
- tempForm.submit();
- }
也可参照此方法解决:http://blog.csdn.net/zhensoft163/article/details/7298161
- URLDecoder: Incomplete trailing escape (%) pattern问题处理
- URLDecoder: Incomplete trailing escape (%) pattern问题处理
- URLDecoder: Incomplete trailing escape (%) pattern错误处理
- URLDecoder: Incomplete trailing escape (%) pattern错误处理
- URLDecoder: Incomplete trailing escape (%) pattern
- URLDecoder: Incomplete trailing escape (%) pattern
- URLDecoder: Illegal hex characters in escape (%) pattern
- URLDecoder: Illegal hex characters in escape (%) pattern - For input string:
- Escape 解决中文乱码(URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u6")
- Could not open the editor: URLDecoder: Illegal hex characters in escape (%) pattern - For input stri
- URLEncoder.encode、URLDecoder.decode、escape、encodeURI、encodeURIComponent、
- URLEncoder.encode、URLDecoder.decode、escape、encodeURI、encodeURIComponent
- URLDecoder异常Illegal hex characters in escape (%)
- escape函数处理带加号字串问题
- escape函数处理带加号字串问题
- JAVA写的escape函数,可以处理JAVASCRIPT的ESCAPE处理的字符,避免字符集问题
- Incomplete Type问题
- java中的URLEncoder和URLDecoder类处理编码与解码问题
- poj 3304 Segments(计算几何)
- Android中动态壁纸(手机或者TV)
- 3.前言(cocos2d-x环境搭建 ios篇)
- UIView的alpha、hidden和opaque属性之间的关系和区别
- 三年所有JAVA技术文档列表
- URLDecoder: Incomplete trailing escape (%) pattern问题处理
- ADB server didn't ACK
- devstack
- window.open打开新窗口,不被拦截的方法
- Linux 系统dns server总是重置的问题
- 以对象方式看c++指针(一)
- TCP/IP "Push" Flag
- 腾讯企业qq总结
- 一个进程池的服务器程序