"Fossies" - the Fresh Open Source Software Archive

Member "grails-core-5.2.4/grails-docs/src/test/resources/docs/ref/Tags/createLink.html" (14 Sep 2022, 67449 Bytes) of package /linux/www/grails-core-5.2.4.tar.gz:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the grails-core-5.2.4.tar.gz project site itself.

(Quick Reference)

Purpose

Creates a link that can be used where necessary (for example in an href, JavaScript, Ajax call etc.)

Examples

Example controller for an application called "shop":

class BookController {

    static defaultAction = "list"

    def list() {
        [books: Book.list(params)]
    }

    def show() {
        [book: Book.get(params.id)]
    }
}

Example usages for above controller:

// generates "/shop/book/show/1"
<g:createLink action="show" id="1" />

// generates "/shop/book/show?foo=bar&boo=far"
<g:createLink action="show" params="[foo: 'bar', boo: 'far']"/>

// generates "/shop/book"
<g:createLink controller="book" />

// generates "/shop/book/list"
<g:createLink controller="book" action="list" />

// generates "/shop/book/list"
<g:createLink url="[action:'list',controller:'book']" />

// generates a link tot he book controller in the publishing namespace
<g:createLink controller="book" namespace="publishing"/>

// generates "http://portal.mygreatsite.com/book"
<g:createLink controller="book" absolute="true"/>

// generates "http://admin.mygreatsite.com/book"
<g:createLink controller="book" base="http://admin.mygreatsite.com"/>

// generates "/shop/book/list/1?title=The+Shining&author=Stephen+King"
<g:createLink controller="book" action="list"
              params="[title: 'The Shining', author: 'Stephen King', id: '1']"/>

Example as a method call in GSP:

<a href="${createLink(action: 'list')}">my link</a>

results in:

<a href="/shop/book/list">my link</a>

Another example with params and href attribute

<a href="${createLink(controller: 'blah', action: 'moreBlah', params: '[name : "${some.bar}"]')}">

Description

Attributes

  • action (optional) - The name of the action to use in the link; if not specified the default action will be linked

  • controller (optional) - The name of the controller to use in the link; if not specified the current controller will be linked

  • resource (optional) - the name of the resource url mapping to use in the link; if not specified controller should be used

  • namespace (optional) - the namespace of the controller to use in the link

  • plugin (optional) - the name of the plugin which provides the controller

  • id (optional) - The id to use in the link

  • fragment (optional) - The link fragment (often called anchor tag) to use

  • mapping (optional) - The named URL mapping to use to rewrite the link

  • method (optional) - The HTTP method specified in the corresponding URL mapping

  • params (optional) - A Map of request parameters

  • url (optional) - A Map containing the action,controller,id etc.

  • uri (optional) - A string for a relative path in the running app.

  • relativeUri (optional) - Used to specify a uri relative to the current path.

  • absolute (optional) - If true will prefix the link target address with the value of the grails.serverURL property from application.groovy, or http://localhost:<port>; if there is no setting in application.groovy and not running in production.

  • base (optional) - Sets the prefix to be added to the link target address, typically an absolute server URL. This overrides the behaviour of the absolute property if both are specified.

  • event (optional) - The name of a Webflow event to trigger for the flow associated with the given action. Requires the Webflow plugin.