Как URL кодировать URL в JSP/JSTL? Я хочу создать закодированный URL для моего сайта. Скажем, например, для этого URL: " http://google.com/index.html " Я хочу передать этот URL-адрес клиенту путем его кодирования. Ответ 1 Поскольку вы используете 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> Ответ 2 Использование UrlEncoder.encode() - ответ. Но дело в том, что этот метод не кодирует процент. Использование: java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20") Ответ 3 В принятом ответе отсутствует код 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> Как отмечается в комментарии, другой вариант - использовать метод JavaScripts encodeURIComponent. Ответ 4 Попробуйте использовать код JSP: Base64.encodeBase64( "http://google.com/index.html")
Ответ 1 Поскольку вы используете 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>
Ответ 2 Использование UrlEncoder.encode() - ответ. Но дело в том, что этот метод не кодирует процент. Использование: java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
Ответ 3 В принятом ответе отсутствует код 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> Как отмечается в комментарии, другой вариант - использовать метод JavaScripts encodeURIComponent.