我想在过滤器中获取整个网址,但在#
之后却没有给我浏览器网址:
/en_US/web/guest/regulatory/disclosures#esma_endorsement
以下是在我的过滤器中获取网址的代码:
String reqUrl = httpReq.getRequestURL().toString();
总是给出:
/en_US/web/guest/regulatory/disclosures
我也尝试过使用queryString,但没有运气。
我想和#symbol一起获取网址
任何人都可以帮助我吗?
谢谢, 纳雷什。
答案 0 :(得分:1)
它是如何运作的。 #
部分由浏览器解释为客户端。没有必要让服务器知道这一部分。如果您确实需要它,可以使用浏览器上的javascript访问它,并使用参数将其显式发送到服务器。但如果您没有明确处理它,它就不会成为URL的一部分。当它出现时,它不会被#
答案 1 :(得分:1)
您希望收到的部分实际上不属于URI。哈希字符称为“片段标识符”,它不会发送到服务器。该部分用于浏览器上的一些额外操作。
所以基本上你无法在服务器端检索那部分。但你可以做一些技巧,比如在前端检索相关部分并作为你网址的一部分发送回服务器,如:
/en_US/web/guest/regulatory/disclosures?name=esma_endorsement