无法获取在过滤器 java 中包含 # 符号的整个 url



我正在尝试在过滤器中获取整个网址,但它在 # 之后没有给我

浏览器网址 :

 /en_US/web/guest/regulatory/disclosures#esma_endorsement 

以下是在我的过滤器中获取 url 的代码:

  String reqUrl = httpReq.getRequestURL().toString();  

它总是给出:

    /en_US/web/guest/regulatory/disclosures

我也尝试过使用查询字符串,但没有运气。

我想获取网址和 #symbol

谁能帮我?

谢谢纳雷什。

这就是它的工作原理。#部分由浏览器解释客户端。没有必要让服务器知道这部分。如果你肯定想要它,你可以在浏览器上使用javascript访问它,并使用参数将其显式发送到服务器。但是,如果您不显式处理它,它就不会成为 URL 的一部分。当它到来时,它不会被#分开

您希望接收的部分实际上不属于 URI。称为"片段标识符"的哈希字符,它不会发送到服务器。该部分用于浏览器上的一些额外操作。

所以基本上你不能在服务器端检索那部分。但是您可以做一些技巧,例如在前端检索相关部分并作为URL的一部分发送回服务器,例如:

/en_US/web/guest/regulatory/disclosures?name=esma_endorsement 

最新更新