包含?的URL被百里香

时间:2019-07-31 10:26:28

标签: java url thymeleaf

我通过Java Spring Boot和thymleaf表达式从数据库中读取了许多URL。如果URL有“?”它会自动更改为“%3F”,例如URL:www.myserver.de?id=3将是www.myserver.de%3Fid = 3我认为我无法使用此解决方案链接,因为这些URL是从DB读取的使用Params

有关更多信息,请单击此处

3 个答案:

答案 0 :(得分:0)

您的URL在数据库中为url encoded,因此?表示为%3F。如果您想从编码的网址中获取原始网址,则需要url decode it,例如通过这样做:

String result = java.net.URLDecoder.decode(url, StandardCharsets.UTF_8);

答案 1 :(得分:0)

您可以将其解码回原始网址。

如果您使用的是Java,请使用java.net.URLDecoder

More here

答案 2 :(得分:0)

如果您只是直接从数据库中读取完整的URL,则不应使用Thymeleaf标准url语法(因为它旨在转义URL参数)。您应该做类似的事情:

<a th:href="|//${link}|" target="_blank">For more information click here</a>