如何在JSP中对URL进行URL编码?

Abr*_*rah 17 html java jsp

我想为我的网站创建一个编码的URL.例如,对于此网址:" http://google.com/index.html "

我想通过URL编码将此URL提供给客户端.

Jas*_*ies 34

由于您使用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>
Run Code Online (Sandbox Code Playgroud)

这将导致:

<a href="/yourClient?yourParamName=http%3a%2f%2fgoogle.com%2findex.html">Link to your client</a>
Run Code Online (Sandbox Code Playgroud)


Moh*_*asi 5

使用 UrlEncoder.encode() 就是答案。但关键是这种方法不进行百分比编码。用:

java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
Run Code Online (Sandbox Code Playgroud)

  • 应该是 java.net.URLEncoder 而不是 java.net.UrlEncoder (2认同)

归档时间:

查看次数:

39818 次

最近记录:

7 年,4 月 前