如何在JSP / JSTL中对URL进行URL编码?
我想为我的网站创建一个编码的网址。例如,对于此 URL,请说:“http://google.com/index.html"
我想通过 URL 编码将此 URL 提供给客户端。
我想为我的网站创建一个编码的网址。例如,对于此 URL,请说:“http://google.com/index.html"
我想通过 URL 编码将此 URL 提供给客户端。
由于您使用的是 JSP,因此我会坚持使用 JSTL 而不使用脚本。您可以将 JSTL 标记 <c:url />
与 <c:param />
结合使用:
<c:url value="/yourClient" var="url">
<c:param name="yourParamName" value="http://google.com/index.html" />
</c:url>
<a href="${url}">Link to your client</a>
这将导致:
<a href="/yourClient?yourParamName=http%3a%2f%2fgoogle.com%2findex.html">Link to your client</a>
使用UrlEncoder.encode()就是答案。但关键是这种方法不会进行百分比编码。用:
java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")