如何在Grails GSP文件中访问当前请求的URL

时间:2014-06-02 18:58:54

标签: grails gsp

如果我有一个简单的GSP(使用Grails 2.3.6):

<% page import=org.me.Widget %>
<header>
    <!-- Header stuff -->
</header>
<body>
    The requested URL is <a href="${url}">${url}</a>!
</body>

如何检查HTTP请求URL(服务器响应的当前URL)并将其注入${url}变量?

注意:我需要在GSP中执行此操作,而不是在控制器内执行此操作(如果人性化的话,即使它违反了最佳做法)。

2 个答案:

答案 0 :(得分:2)

你可以尝试

def var = request.forwardURI

您甚至可以检查添加到请求对象here

的其他方法

答案 1 :(得分:0)

GSP中有很多选项可以找出当前的网址。

首先,您始终可以访问request getRequestURL()对象。使用getRequestURI()${request.getRequestURL()} 等方法,您可以检查请求。

actionName

但是,controllerNamecreateLink可能更有用。这两个属性都在模型中暴露给GSP。有了这些,您可以根据需要使用标准${createLink(controller: controllerName, action: actionName)} 标记构建URL。

{{1}}

这些应该为您提供足够的选择来完成您的需要。