URLDecoder: Incomplete trailing escape (%) pattern问题处理
http://blog.csdn.net/yangbobo1992/article/details/10076335
________________________________________________________
最近在用的项目中,分页页面在导出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();
- }
特别注意:
有些时候导出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对字符串进行解码的时候 报以下异常信息: Exception in thread "main" java.lang.IllegalArgumentExce ...
- URLDecoder: Illegal hex characters in escape (%) pattern - For input string
原因:后台发布文章的时候,内容里面有%,导致后台URLDecoder.decode()转码的时候报错. 看了java.net.URLDecoder的decode()的源码,原来是转码错误. 贴出部分代 ...
- java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: " 0"
value = URLDecoder.decode(request.getParameter(paraName), "UTF-8"); 前端用了 encodeURI 来编码参数,后 ...
- java转换编码报错java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern
Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex cha ...
- java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern - For input string)
在附件名称中含有%的时候,上传附件进行url编码解析的时候会出错,抛出异常: Exception in thread "main" java.lang.IllegalArgumen ...
- URLDecoder异常Illegal hex characters in escape (%)
URLDecoder对参数进行解码时候,代码如: URLDecoder.decode(param,"utf-8"); 有时候会出现类似如下的错误: URLDecoder异常Ille ...
- URLDecoder异常解决方法
URLDecoder对参数进行解码时候,代码如: URLDecoder.decode(param,"utf-8"); 有时候会出现类似如下的错误: URLDecoder异常Ille ...
- URL编码 URLEncoder 示例
2016-12-27 对字符编码时的规则 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据. 对于Url来说,之所以要进行编码,一个是因为Url中有些字符 ...
- JAVA判断URL地址是否非法
/** * 判断请求url是否非法 * @param url * @return */ public static boolean isValidRequestUri(String url) { if ...
随机推荐
- 用CSS下划线距离
但在我在CSS中新加了TEXT-DECORATION: underline; 后发现下划线离文本太近了,很难看. 代码一: a { text-decoration: none; background: ...
- CSS经验分享:如何书写可维护的CSS代码01
转自:http://www.cnblogs.com/hxling/archive/2013/02/21/2920520.html 一.在样式表开头添加一个注释块,用以描述这个样式表的创建日期.创建者. ...
- .NET破解之爱奇迪(一)
今天无意中看到了wuhuacong(伍华聪)的专栏,界面写得还是很炫的感觉,于是在广州爱奇迪官网下载一个来试一下——客户关系管理系统.下面是成果: 00.总体把握 里面有Logon窗口(为什么不是Lo ...
- session 防止表单重复提交
防止表单重复提交应该现在前台做一遍,再在后台做一遍.这样双重安全而且减轻服务器负担. 代码: package flying.form; import java.io.IOException; impo ...
- 使用create-react-app模板模仿12306app
概述 使用create-react-app模板模仿12306app,实现了登陆和查票购票管理,结合express+mysql做后台,实现数据存储. github地址:https://github.co ...
- django 实现linux运维管理平台
概述 使用django实现一个linux运维管理平台,可以实现注册登录,机器管理 ,服务器批量操作,服务器性能监控. 详细 代码下载:http://www.demodashi.com/demo/112 ...
- OSSSME - 开源软件助力中小企业发展
怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ [2013-8-2] 由于同时更新2个站点的信息比较繁琐,今后所有和iDempiere. ...
- 阿里云RDS同步到本地自建mysql数据库从库
RDS mysql版本为5.6.29 x86_64 1.下载数据备份.binlog备份 内网中转?数据量不大,直接下载 下载数据备份(外网下载链接) wget -c "https://rds ...
- WCF深入浅出学习1
1.本文主要对WCF的基本使用做简单化介绍,对于初学WCF的来说,初期对于配置文件的理解,比较烦躁吧,相信你看完了该文,能够达到深入浅出的感觉. 关于WCF的概念 和 应用场景,在此处不做详细介绍,可 ...
- idea 更换编辑器背景图片
插件名称是:BackgroundImage, 安装后效果图