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章节。