如何使用JSP从URL获取参数值
我有一个像var=如何使用JSP从URL获取参数值,jsp,jakarta-ee,jsp-tags,Jsp,Jakarta Ee,Jsp Tags,我有一个像var=p+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I= 我在urllike中传递这个参数 http://localhost/proj/home.jsp?var=P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I= 现在在home.jsp中,我想按原样使用var的这个值 stringvar=request.getParameter(“var”)变量获取值 “p q EvhE951eg/I5nz1vi/w2YpJdH v
p+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=
我在url
like中传递这个参数
http://localhost/proj/home.jsp?var=P+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=
现在在home.jsp中,我想按原样使用var的这个值
stringvar=request.getParameter(“var”)代码>变量获取值
“p q EvhE951eg/I5nz1vi/w2YpJdH v/vSPaQNg/I=“
注意它将+
替换为空格
有人能帮我解决这个问题吗。尝试对参数进行如下编码:
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
“+”在Url中表示“空格”。您可以用%2B答复此问题
比如说
queryString = queryString.replace('+', '%2B');
如果查询字符串中只有一个参数
String urlContent = request.getQueryString();
您也可以通过request.getQueryString()来获取此信息-这里不需要替换查询字符串
String urlContent = request.getQueryString();
输出:var=p+q+EvhE951eg/I5nz1vi/w2YpJdH+v/vSPaQNg/I=在发送之前,您需要对参数进行编码该参数已经编码。您的容器可能会在没有您的许可的情况下选择性地解码文本。您可能需要研究特定容器的编码配置。或者用+替换所有空格