首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接链接到GSP

直接链接到GSP
EN

Stack Overflow用户
提问于 2010-01-31 10:52:12
回答 3查看 12.3K关注 0票数 13

在GSP中,是否可以创建到另一个GSP的直接链接?我知道我可以使用:

代码语言:javascript
复制
<g:createLink controller="user" action="foo"/>

并在UserController中定义foo操作以仅显示相应的GSP

代码语言:javascript
复制
class UserController {
    def foo = {}
}

但是,有没有什么方法可以在不创建空的foo操作的情况下实现相同的结果?

谢谢,唐

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-31 15:16:53

createLink tag适用于控制器操作,并且不会在url属性之外执行您想要的操作。

您总是可以通过以下方式直接访问gsp :结合使用linkresource标记的/user/foo.gsp

代码语言:javascript
复制
<g:link url="${resource(dir:'user', file:'foo.gsp')}">user/foo.gsp</g:link>

否则,您可以创建将请求直接映射到视图的URL映射。

代码语言:javascript
复制
class UrlMappings {
    static mappings = {
        "/user/foo"(view:"user/foo")
    }
}

使用Grails 1.2,您可以创建直接映射到视图的named URL Mapping

代码语言:javascript
复制
class UrlMappings {
    static mappings = {
        name userFoo: "/user/foo"(view:"user/foo")
    }
}

然后将其与link标记一起使用:

代码语言:javascript
复制
<link:userFoo>User Foo</link:userFoo>

代码语言:javascript
复制
<g:link mapping="userFoo">User Foo</g:link>
票数 25
EN

Stack Overflow用户

发布于 2010-01-31 23:48:50

有一个uri属性是undocumented ,但您可以在source中看到它

代码语言:javascript
复制
<a href="${createLink(uri:'/path/page.gsp')}">link</a>

HTH

票数 13
EN

Stack Overflow用户

发布于 2016-12-07 22:44:47

从Grails 2.x开始,这是不可能的。直接链接到.gsp的能力是一个安全缺陷,可以用来避免@Secured注释。URL映射方法仍然有效,如@Colin Harrington的答案所示。

请参阅:GRAILS-7542: Views are accessible via a URL pattern

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2170386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档