(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:
// 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 "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>
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
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
params
(optional) - A Map of request parameters
url
(optional) - A Map containing the action,controller,id etc.
absolute
(optional) - If true
will prefix the link target address with the value of the grails.serverURL
property from Config.groovy
, or http://localhost:<port> if there is no setting in Config.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.
Source