(Quick Reference)

createLink

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:

<g:createLink action="show" id="1" /> == /shop/book/show/1
<g:createLink action="show" params="[foo: 'bar', boo: 'far']"/> == /shop/book/show?foo=bar&boo=far
<g:createLink controller="book" /> == /shop/book
<g:createLink controller="book" action="list" /> == /shop/book/list
<g:createLink url="[action:'list',controller:'book']" /> == /shop/book/list
<g:createLink controller="book" absolute="true"/> == http://portal.mygreatsite.com/book
<g:createLink controller="book" base="http://admin.mygreatsite.com"/> == http://admin.mygreatsite.com/book
<g:createLink controller = "book" action="list" params="[title:'The Shining', author:'Stephen King', id:'1']"/> == /shop/book/list/1?title=The+Shining&author=Stephen+King

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>

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
  • 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
  • params (optional) - A map containing URL query parameters
  • url (optional) - A map containing the action,controller,id etc.
  • absolute (optional) - If set to "true" will prefix the link target address with the value of the grails.serverURL property from Config, or http://localhost:<port> if no value in Config 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.

Source

Show Source