redirect(action: "show")
redirect(controller: "book", action: "list")
redirect(controller: "book", action: "list", namespace: "publishing")
redirect(controller: "book", action: "list", plugin: "publishingUtils")
redirect(action: "show", id: 4, params: [author: "Stephen King"])
redirect(controller: "book", action: "show", fragment: "profile")
redirect(uri: "book/list")
redirect(url: "http://www.blogjava.net/BlueSUN")
redirect(Book.get(1))
redirect
Purpose
To redirect flow from one action to the next using an HTTP redirect.
Examples
Description
Redirects the current action to another action, optionally passing parameters and/or errors. When issuing a redirect from a namespaced controller, the namespace for the target controller is implied to be that of the controller initiating the redirect. To issue a redirect from a namespaced controller to a controller that is not in a namespace, the namespace must be explicitly specified with a value of null
as shown below.
class SomeController {
static namespace = 'someNamespace'
def index() {
// issue a redirect to PersonController which does not define a namespace
redirect action: 'list', controller: 'person', namespace: null
}
}
Parameters
redirect(Map params)
-
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 -
namespace
(optional) - the namespace of the controller to redirect to -
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 containing request parameters -
url
(optional) - a map containing the action, controller, id etc. -
absolute
(optional) - Iftrue
(default) will prefix the link target address with the value of thegrails.serverURL
property fromapplication.yml
, or http://localhost:<port> if there is no value inapplication.yml
and not running in the production environment. Iffalse
a partial URI is generated for theLocation
header. -
base
(optional) - Sets the prefix to be added to the link target address, typically an absolute server URL. This overrides the behaviour of theabsolute
property if both are specified. -
permanent
(optional) - Iftrue
the redirect will be issued with a 301 HTTP status code (permanently moved), otherwise a 302 HTTP status code will be issued
Domain Class
redirect(Object domainClass)
A special case is if a domain class is passed into redirect
it will use the LinkGenerator
to create the URL. For example redirect(Book.get(1))
will generate a redirect to /book/show/1
.