String url="/UEAnalyze/BaoZhang.do?bzApply&jsonarray="+jsonarr1+"&jsonarray2="+jsonarr2;
其中jsonarray2有问题(其值类似:{"1":"主营业务成本-网络运行成本-外购动力费-IDC机房"})
跳转方式:response.sendRedirect(url);
接收:String jsonarray2 = request.getParameter("jsonarray2");此时报错:
java.io.CharConversionException: isHexDigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87)
而BaoZhang.do的另一个入口:(js)window.location.href = "/UEAnalyze/BaoZhang.do?bzApply&jsonarray="+jarr1+"&jsonarray2="+jarr2;则没有问题。
请教这是怎么回事?
URL中的传递的参数等,都先进行一下Encode,接收后,再次Decode
字符串中有非法的字符,检查下传进来的参数
双引号是特殊字符,在url后面需要转义
http://www.zhixing123.cn/asp/html-javascript-url-character.html
用java的encode编码下你的内容:http://www.cnblogs.com/shishm/articles/1614407.html
http://blog.csdn.net/mcpang/article/details/7859475
看一下这个,是不是这个原因。