(Quick Reference)
bindData
Purpose
Allows fine-grained control of binding request parameters from strings onto objects and the necessary types (data binding).
Examples
// binds request parameters to a target object
bindData(target, params)// exclude firstName and lastName
bindData(target, params, [exclude: ['firstName', 'lastName']])// only use parameters starting with "author." e.g. author.email
bindData(target, params, "author")
bindData(target, params, [exclude: ['firstName', 'lastName']], "author")// using inclusive map
bindData(target, params, [include: ['firstName', 'lastName']], "author")
Description
Usage:
bindData(target, params, includesExcludes, prefix)
Arguments:
target
- The target object to bind to
params
- A Map
of source parameters, often the params object when used in a controller
includesExcludes
- (Optional) A map with 'include' and/or 'exclude' lists containing the names of properties to either include or exclude.
prefix
- (Optional) A string representing a prefix to use to filter parameters. The method will automatically append a '.' when matching the prefix to parameters, so you can use 'author' to filter for parameters such as 'author.name'.
Note that if an empty List is provided as a value for the include
parameter then all fields will be subject to binding if they are not explicitly excluded.
The underlying implementation uses Spring's Data Binding framework. If the target is a domain class, type conversion errors are stored in the
errors
property of the domain class.
Refer to the section on
Data Binding in the user guide for more information.