【问题标题】:Getting the current browser url in Grails在 Grails 中获取当前浏览器 url
【发布时间】:2012-01-12 16:30:18
【问题描述】:

我需要在 Grails 中获取浏览器 URL,或者特别是在 UrlMapping 中获取它的参数。

我在特定情况下需要这个,在来自不同控制器/动作的异步调用之后,此时 request.forwardURI 已更改为异步 url,而实际浏览器 url 保持不变。

有没有简单的方法来做到这一点?

【问题讨论】:

    标签: grails groovy url-mapping


    【解决方案1】:

    如果您有权访问request 对象,则可以获取URL 的任何属性(包括参数),因为requestHttpServletRequest 的实现。

    【讨论】:

    • 前面说过,请求url是指异步调用的url,而不是浏览器中的url。浏览器 url 参数是我需要访问的。
    【解决方案2】:

    由于您正在进行异步调用,只需将当前浏览器 URL 作为参数添加到您的请求中即可。通过window.location 检索它并将其添加到通过您的异步调用传入的参数中。

    【讨论】:

      【解决方案3】:

      如果您尝试根据 URL 参数跟踪用户的当前状态,您可以查看 Grails 中的 Spring Web Flow 支持 -> http://grails.org/doc/latest/guide/theWebLayer.html#webflow

      显然,与使用 Ajax 的 RIA 相比,这更适用于有状态的 Web 应用程序,但 Web Flow 在隔离特定用户操作方面做得非常好,可能在这里也有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        • 1970-01-01
        • 2014-05-07
        • 2015-08-09
        • 2011-06-24
        • 2015-08-26
        • 2011-01-18
        相关资源
        最近更新 更多