【问题标题】:Unable to get the Entire url which includes # symbol in filters java [duplicate]无法获取在过滤器 java [重复] 中包含 # 符号的整个 url
【发布时间】:2016-09-29 03:40:53
【问题描述】:

我试图在过滤器中获取整个 url,但它在 # 之后没有给我

浏览器网址:

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

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

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

它总是给出:

    /en_US/web/guest/regulatory/disclosures

我也尝试过使用 queryString,但没有成功。

我想获取 url 和 #symbol

谁能帮帮我?

谢谢, 纳雷什。

【问题讨论】:

    标签: java jsp servlets web-applications liferay


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-09-11
        • 1970-01-01
        • 2019-06-29
        • 2018-08-07
        • 2010-11-13
        • 2021-04-15
        • 2015-05-23
        • 2011-01-14
        • 1970-01-01
        相关资源
        最近更新 更多