web-dev-qa-db-de.com

Wie kodiere ich eine URL in JSP?

Ich möchte ein verschlüsseltes URL für meine Site erstellen. Sagen Sie beispielsweise für diese URL: " http://google.com/index.html "

Ich möchte diese URL dem Client durch die URL-Codierung geben. 

15
Abrah

Da Sie JSP verwenden, würde ich bei JSTL bleiben und keine Scriptlets verwenden . Sie können das JSTL-Tag <c:url /> IN KOMBINATION MIT <c:param /> verwenden:

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

Dies führt zu:

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

Die Verwendung von UrlEncoder.encode () ist die Antwort. Der Punkt ist jedoch, dass diese Methode nicht prozentual kodiert. Benutzen:

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

In der akzeptierten Antwort fehlt etwas JSP-Code, um gültig zu sein. Es sollte Folgendes sein:

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

Als Kommentar wird darauf hingewiesen, dass eine weitere Option die Verwendung der JavaScripts encodeURIComponent -Methode ist.

0