日期:2014-05-16 浏览次数:20373 次
以前在项目中处理过, 将一个字符串从前台页面(html)传到后台(J2EE项目),通过js中的encodeURI函数对字符串进行加密:
????????????????js代码:????? value =encodeURI(encodeURI(value);
然后再后台通过:
????????????????java代码:?? java.net.URLDecoder . decode (req.getParameter("value"),"UTF-8");
?对加密的字符串进行解析就OK!这样就解决了请求中文参数乱码问题!
但是,前不久项目中出现一个问题很郁闷,在后台同样通过java.net.URLDecoder. decode进行解析,但是前台的请求是JSP页面的一个<a href="">参数是一个java对象(例如:“我爱中国”)。开始想在java中找到一个与js中 encodeURI函数相同实现的方法 ,但是一直不如所愿,在网上也没有相关的资料,还是自己好好研究吧,嘿嘿,黄天不负有心人,经过几天努力还是被我找到了
??? java.net.URLEncoder.encode(“我爱中国”,"utf-8");与js encodeURI函数实现功能相同;
?
注:如果通过java.net.URLDecoder. decode("","utf-8")在后台进行解析,在jsp页面里就要对参数进行如下如理:
?????URLEncoder.encode(URLEncoder.encode("我爱中国","utf
-8"),"utf-8");
?