嗨我有一个来自超链接的超链接我正在调用一个servlet,并且还发送一个带有请求的参数但是当'%'附加文本然后显示空值。
Jsp代码
<h1><a href="test11?val=100%">click</a></h1>
servlet代码
String s=request.getParameter("val");
out.print("this is a text"+s);
<h1><a href="test11?val=100">click</a></h1>
它工作正常,但当我添加&#39;%&#39;它打印为空。
答案 0 :(得分:5)
要从URL
获取%,您应该使用URLEncoded
%25
的版本。因此,您将以<h1><a href="test11?val=100%25">click</a></h1>
%
中的{p> URL
不仅仅是一个字符,也是URLEncoding中使用的percent-encoding
的主要字符。网址的其他特殊字符为?
,&
和=
请尝试始终对您的网址进行编码,请在java中查看此链接:Java URL encoding of query string parameters以便执行此操作。
答案 1 :(得分:2)
由于您使用的是JSP,请尝试使用JSTL对URL进行编码。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:url value="/test11" var="url">
<c:param name="val" value="100%" />
</c:url>
<a href="${url }">click</a>