服务器端无法获取加号(“+”)

一个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

相关推荐