当前位置: 首页 > 知识库问答 >
问题:

如何在JSP/JSTL中对URL进行URL编码?

程仲卿
2023-03-14

我想为我的网站创建一个编码的网址。例如,对于这个URL:"http://google.com/index.html"

我想通过URL编码将此URL提供给客户端。

共有3个答案

徐茂材
2023-03-14

接受的答案缺少一些有效的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>

正如一个注释所指出的,另一个选项是使用JavaScript编码器URIComponent方法。

东门令
2023-03-14

使用UrlEncoder。encode()就是答案。但关键是,这种方法不进行百分比编码。使用:

java.net.UrlEncoder.encode(stringOfURL,"UTF-8").replace("+","%20")
桂浩言
2023-03-14

因为您使用的是JSP,所以我会坚持使用JSTL而不使用criptlet。您可以使用JSTL标签

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

 类似资料:
  • 本文向大家介绍如何在iPhone中对字符串(NSString)进行URL编码?,包括了如何在iPhone中对字符串(NSString)进行URL编码?的使用技巧和注意事项,需要的朋友参考一下 在开发基于API的Web应用程序时,我们绝对需要与多个Web服务和URL相交。网址可能包含特殊字符,搜索字词,查询,标题和许多其他内容,具体取决于我们所需的服务。这就是为什么我们需要某种编码,以便我们创建的U

  • 问题内容: 我将NodeJS与Express一起使用,当我在URL中使用外来字符时,它们会自动进行编码。 如何将其解码回原始字符串? 在调用NodeJS之前,我先转义字符。 所以字符串: 成为 现在,整个URL如下所示: 现在在我的NodeJS中,我得到了转义的字符串。 这是相关代码: 我已经尝试过和图书馆,但似乎没有适合我的情况。 问题答案: 更新16/03/18 并且已弃用。 用: 旧答案 给

  • 我试图通过参数在谷歌搜索,它的工作,当我搜索一个词,但一个我做空间它坏了我知道有一种方法来编码网址。 回溯: 还有一次,我用希伯来文写道: UnicodeEncodeError:“ascii”编解码器无法对位置14-18中的字符进行编码:序号不在范围内(128)

  • 问题内容: 我正在搜索页面,您可以在其中输入搜索查询并将表单提交到。什么PHP函数是最好的,我应该使用它对搜索查询进行编码/解码? 问题答案: 对于URI查询,请使用;对于其他任何事情,请使用/。 和之间的区别是 根据 application/x-www-form-urlencoded编码(空格用编码),而 根据简单的 Percent-Encoding编码 (空格使用编码)。

  • 问题内容: 我正在查看以下API: http://wiki.github.com/soundcloud/api/oembed- api 他们举的例子是 呼叫: 响应: 我该怎么做才能仅通过URL获得此JSON对象? 问题答案: 看来他们为format参数提供了一个选项,它将返回JSONP。您可以像这样检索JSONP:

  • Java为URL编码字符串提供了类。但是将密码存储为字符串被认为是不安全的。通过输出流通过POST发送密码的代码是否足够安全? 一方面,它在使用字符串。另一方面,这些字符串只有1个字符长,编码后在概念上是相同的。而且,在我看来,这可能会在多字节字符上失败。攻击者是否能够在内存中找到这些1-char字符串并重建原始密码?有没有更好的办法做到这一点?