对于刚入行新手来说碰到URL传递中文数据到后台出现乱码或是传递包含特使符号‘#’后端获取不到的情况是比较头疼的事,这里我就告诉你这两个的解决的方式;
1.URL传递中文
前端页面:中文字符串用 encodeURI(encodeURI())包裹后加入 URL连接中;
在页面JSP页面中的URL:
例:window.location.href = '/cm/configuration_management&compile='+encodeURI(encodeURI(“中文字符 串”));
前端页面接收前端页面传来的中文
例: var compile = decodeURI(compile);
后端页面接收前端页面传来的中文
后端:中文字符串用 URLDecoder.decode(cph,"UTF-8");包裹后加入 ;
例: String compile = URLDecoder.decode(compile,"UTF-8");//如果页面都是用UTF-8格式编码的话。
2.处理前端页面传递包含带特殊字符‘#’后端获取不到的情况
前端页面:特殊字符‘#’用 encodeURIComponent( “#” )包裹后加入 URL连接中;
例:window.location.href = '/cm/configuration_management&positionnum='+encodeURIComponent( “#” );
后端页面接收前端页面传来的特殊字符‘#’
String positionnum = new String( positionnum.getBytes("iso8859-1"),"utf-8"); //在controller中接收转换