params

用途

用来保存CGI请求提交的参数的可变多维map(hash)。

举例

获取请求提交的叫id的参数:

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

用来完成数据绑定(参考用户手册的Data Binding章节):

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

描述

标准的Servlet API允许通过HttpServletRequest对象访问提交的参数,尽管Grails也提供了同样功能的request对象,他更进一步提供了一个叫params的可变的多维的map对象来保存提交的所有参数。

可通过引用很简单地调用params对象,假如请求的URL是/hello?foo=bar,可通过下面的方法获取提交的foo的值:


println params.foo

params对象还可以用来把请求提交的参数绑定到domain类的属性上,通过domain类的构造方法或domain类的properties属性:

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

更多信息可参考用户手册的Data Binding章节。