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过滤时报错导致,将该字符去除后正常!