web-dev-qa-db-fra.com

Comment encoder une URL en JSP?

Je veux créer un URL codé pour mon site. Par exemple, pour cette URL: " http://google.com/index.html "

Je veux donner cette URL au client en codant l'URL. 

15
Abrah

Puisque vous utilisez JSP, je voudrais m'en tenir à JSTL et ne pas utiliser de scriptlets . Vous pouvez utiliser la balise JSTL <c:url /> EN COMBINAISON AVEC <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>

Cela se traduira par:

<a href="/yourClient?yourParamName=http%3a%2f%2fgoogle.com%2findex.html">Link to your client</a>
33
Jasper de Vries

Utiliser UrlEncoder.encode () est la réponse. Mais le fait est que cette méthode ne code pas en pourcentage. Utilisation:

Java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
4
Mohsen Abasi

Il manque du code JSP à la réponse acceptée pour être valide, elle devrait être:

<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>

Comme un commentaire l’a souligné, une autre option consiste à utiliser la méthode JavaScripts encodeURIComponent .

0
Sebastián Ezquerro