link directly to GSP

前端 未结 3 1070
青春惊慌失措
青春惊慌失措 2021-02-05 16:47

In a GSP, is it possible to create a direct link to another GSP? I know I can use:


and

相关标签:
3条回答
  • 2021-02-05 17:08

    There's a uri attribute that's undocumented , but you can see it in the source:

    <a href="${createLink(uri:'/path/page.gsp')}">link</a>
    

    HTH

    0 讨论(0)
  • 2021-02-05 17:21

    The createLink tag is geared for use with controller actions and won't do what you want it to outside of the url attribute.

    You can always get to a gsp by directly: /user/foo.gsp with a combination of the link and resource tags.

    <g:link url="${resource(dir:'user', file:'foo.gsp')}">user/foo.gsp</g:link>
    

    Othewise you can create a URL Mapping that maps a request directly to a view.

    class UrlMappings {
        static mappings = {
            "/user/foo"(view:"user/foo")
        }
    }
    

    Using Grails 1.2 you can create a named URL Mapping that maps directly to a view:

    class UrlMappings {
        static mappings = {
            name userFoo: "/user/foo"(view:"user/foo")
        }
    }
    

    and then use it with the link tag:

    <link:userFoo>User Foo</link:userFoo>
    

    or

    <g:link mapping="userFoo">User Foo</g:link>
    
    0 讨论(0)
  • 2021-02-05 17:33

    As of Grails 2.x, this is not possible. The ability to link directly to a .gsp was a security flaw that could be used to avoid the @Secured annotation. The URL mapping method does still work though as seen in @Colin Harrington's answer.

    See: GRAILS-7542: Views are accessible via a URL pattern

    0 讨论(0)
提交回复
热议问题