(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