1、在用javascript进行转码的时候后台出现如下错误:
java.io.CharConversionException: isHexDigit
......
我的前台javascript代码如下:
function sendtopass(personName){
personName= escape(personName);
window.location.href='/manaPass.do?method=list&personId='+personName;
}
后台代码:person_id = Escape.unescape(StringUtil.format(request.getParameter("personId")));
这样程序就报错了。
找到解决方案如下:
前台代码改为:
function sendtopass(personName){
personName= encodeURI(encodeURI(personName));
window.location.href='/manage/recordPass/recordPass.do?method=list&personId='+personName;
}
后台代码:person_id = URLDecoder.decode(request.getParameter("personId"),"UTF-8");
这样问题就解决了!
2、有时候是因为页面传值到后台时,在参数中加上了“%”等字符,导致后台(sun公司的java类)解析request过滤时报错导致,将该字符去除后正常!

本文介绍了一种在使用JavaScript进行转码时遇到的错误及解决方案。错误为java.io.CharConversionException:isHexDigit,通过修改前端转码方式并调整后台解码逻辑得以解决。
4000

被折叠的 条评论
为什么被折叠?



