我想为我的网站创建一个编码URL。例如,对于此网址:“http://google.com/index.html”
我想通过URL编码将此URL提供给客户端。
答案 0 :(得分:33)
由于您使用的是JSP,我会坚持使用JSTL和not use scriptlets。您可以使用JSTL标记<c:url />
in combination with <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>
答案 1 :(得分:4)
使用UrlEncoder.encode()就是答案。但重点是这种方法没有百分比编码。使用:
java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
答案 2 :(得分:0)
接受的答案缺少一些有效的JSP代码,应该是:
<c:url value="/yourClient" var="url">
<c:param name="yourParamName" value="http://google.com/index.html" />
</c:url>
<a href="<c:out value='${url}'/>">Link to your client</a>
正如评论所指出的那样,另一种选择是使用JavaScript encodeURIComponent方法。
答案 3 :(得分:-8)
尝试使用JSP代码:
Base64.encodeBase64( "http://google.com/index.html")