我的值为var = P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=
我在url
中传递此参数
http://localhost/proj/home.jsp?var=P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=
现在在home.jsp中我想使用var的这个值。但是当我这样做时
String var=request.getParameter("var");
var获取值
"P q EvhE951eg/I5nz1vi/w2YpJdH v/vSPaQNg/I="
请注意将+
替换为space
。
所以任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
尝试编码这样的参数:
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String param = "P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=";
System.out.printf("Orginal Param: %s\n", param);
param = java.net.URLEncoder.encode(param, "utf-8");
System.out.printf("Encoded Param: %s\n", param);
}
}
输出:
Orginal Param: P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=
Encoded Param: P%2Bq%2BEvhE951eg%2FI5nz1vi%2Fw2YpJdH%2Bv%2FvSPaQNg%2FI%3D
答案 1 :(得分:0)
“+”表示Url中的“空格”。你可以用%2B来重复这个。
例如
queryString = queryString.replace('+', '%2B');
如果查询字符串中只有一个参数。
你也可以通过request.getQueryString()得到这个 - 这里不需要替换查询字符串。
String urlContent = request.getQueryString();
输出:var = P + q + EvhE951eg / I5nz1vi / w2YpJdH + v / vSPaQNg / I =