一个jsp通过浏览器传递参数到另外一个JSP
其中有参数带有“+”号
发现另外一个JSP接收不到此+号
因为“+”被视为字符串连接符
解决办法:
1,
采用Ajax传递参数加号(+)和与符号(&)时候,服务端获取到的参数并不如意!
(1) "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
(2)"&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
解决办法:在传到服务端之前先将参数中的"+"和"&"符号都编码一下
function filter(str)s
{
str = str.replace(/\+/g,"%2B");
str = str.replace(/\&/g,"%26");
return str;
}
用该方法将参数过滤后传到服务端,服务端即可获取到正确的"+"或"&"符号!
法2:
使用java.net.URLEncode(str)将URL进行转换
例如:
<%@page import="java.net.URLEncoder" %>
a href=b.jsp?bookname=<%=URLEncoder.encode(name)%>
感谢 http://www.cnblogs.com/qintianqi/archive/2011/07/27/2117785.html
http://www.docin.com/p-594174336.html