无法读取request.getparameter()的'%'

use*_*263 -1 java jsp servlets java-ee

嗨,我有一个超链接,我正在调用一个servlet,并发送一个参数请求,但当'%'附加文本,然后显示空值.

Jsp代码

 <h1><a href="test11?val=100%">click</a></h1>
Run Code Online (Sandbox Code Playgroud)

servlet代码

 String s=request.getParameter("val");
   out.print("this is a text"+s);
Run Code Online (Sandbox Code Playgroud)

因为<h1><a href="test11?val=100">click</a></h1> 它工作正常,但当我添加'%'时,它打印null.

Gar*_*ero 5

为了获得%,URL你应该使用它的URLEncoded版本%25.所以你最终会结束<h1><a href="test11?val=100%25">click</a></h1>

%在一个URL不仅仅是一个字符,是percent-encodingURLEncoding中使用的主要字符.针对URL其他特殊字符?,&并且=

请尝试始终对您的URL进行编码,在java中请检查此链接:查询字符串参数的Java URL编码,以便这样做.