params

Purpose

A mutable multi-dimensional map (hash) of request (CGI) parameters

Examples

To obtain a request parameter called id:

class BookController {
	def show {
		def book = Book.get(params.id)
	}
}

To perform data binding (see Data Binding in the user guide):

def save = {
	def book = new Book(params) // bind request parameters onto properties of book
}

Description

The standard Servlet API provides access to parameters via the HttpServletRequest object. Although Grails provides the same capability through the request object, it goes a bit further by providing a mutable map of request parameters called params.

The params object can be indexed into via de-refrencing so given the URL /hello?foo=bar you can obtain the value of foo as follows:


println params.foo

The params object can also be used to bind request parameters onto the properties of a domain class using either the constructor or the properties property:

def book = new Book(params)
book = Book.get(1)
book.properties = params

For further reading see Data Binding in the user guide.