Tôi muốn tạo URL được mã hóa cho trang web của mình. Ví dụ: đối với URL này: "http://google.com/index.html"Làm cách nào để mã hóa URL URL trong JSP?
Tôi muốn cung cấp URL này cho khách hàng bằng cách mã hóa URL đó cho khách hàng.
Tôi muốn tạo URL được mã hóa cho trang web của mình. Ví dụ: đối với URL này: "http://google.com/index.html"Làm cách nào để mã hóa URL URL trong JSP?
Tôi muốn cung cấp URL này cho khách hàng bằng cách mã hóa URL đó cho khách hàng.
Vì bạn đang sử dụng JSP, tôi sẽ dính vào JSTL và not use scriptlets. Bạn có thể sử dụng thẻ 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>
này sẽ cho kết quả:
<a href="/yourClient?yourParamName=http%3a%2f%2fgoogle.com%2findex.html">Link to your client</a>
Làm cách nào để chuyển một giá trị tham số rỗng? Tôi đã thử '
Giá trị rỗng hoạt động cho tôi. –
Cố gắng trong mã JSP của bạn:
Base64.encodeBase64("http://google.com/index.html")
Mã hóa Base64! = Mã hóa URL –
Sử dụng UrlEncoder.encode() là câu trả lời. Nhưng vấn đề là phương pháp này không mã hóa phần trăm. Sử dụng:
java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
Tại sao bạn muốn thực hiện điều này trên JSP? Bạn không thể sử dụng [UrlEncoder.encode()] (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html) trên servlet và chuyển dữ liệu đến JSP? –