2013-04-10 27 views
10

私のサイト用に符号化されたURLを作成したいと思います。たとえば、次のようなURLを入力します。「http://google.com/index.htmlJSPでURLをエンコードする方法は?

このURLをURLエンコードでクライアントに渡したいとします。あなたのJSPコードで

+0

なぜこれをJSPで実行したいですか?サーブレットで[UrlEncoder.encode()](http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html)を使用して、 JSP? –

答えて

27

あなたはJSPを使用しているので、私はJSTLnot use scriptletsに固執するでしょう。答えは)UrlEncoder.encodeを(使用

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

空のパラメータ値を渡すにはどうすればよいですか?私は ''を試みましたが、 'DocType%3d ='になりました。私は 'DocType ='だけ必要です。 –

+0

空の値が私に役立ちます。 –

-8

試してみてください。

Base64.encodeBase64("http://google.com/index.html") 
+13

Base64エンコード!= URLエンコード –

3

:これはになります

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

:あなたは、JSTLタグ<c:url /> in combination with <c:param />を使用することができます。しかし、ポイントは、このメソッドはパーセントエンコードではないということです。使用:

java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20") 
関連する問題