spring-framework / org.springframework.web.bind.support / WebRequestDataBinder

WebRequestDataBinder

open class WebRequestDataBinder : WebDataBinder

Special org.springframework.validation.DataBinder to perform data binding from web request parameters to JavaBeans, including support for multipart files.

See the DataBinder/WebDataBinder superclasses for customization options, which include specifying allowed/required fields, and registering custom property editors.

Can also used for manual data binding in custom web controllers or interceptors that build on Spring's org.springframework.web.context.request.WebRequest abstraction: e.g. in a org.springframework.web.context.request.WebRequestInterceptor implementation. Simply instantiate a WebRequestDataBinder for each binding process, and invoke bind with the current WebRequest as argument:

 MyBean myBean = new MyBean(); // apply binder to custom target object WebRequestDataBinder binder = new WebRequestDataBinder(myBean); // register custom editors, if desired binder.registerCustomEditor(...); // trigger actual binding of request parameters binder.bind(request); // optionally evaluate binding errors Errors errors = binder.getErrors(); ...

Author
Juergen Hoeller

Author
Brian Clozel

Since
2.5.2

See Also
#bind(org.springframework.web.context.request.WebRequest)#registerCustomEditor#setAllowedFields#setRequiredFields#setFieldMarkerPrefix

Constructors

<init>

WebRequestDataBinder(target: Any)

Create a new WebRequestDataBinder instance, with default object name.

WebRequestDataBinder(target: Any, objectName: String)

Create a new WebRequestDataBinder instance.

Functions

bind

open fun bind(request: WebRequest): Unit

Bind the parameters of the given request to this binder's target, also binding multipart files in case of a multipart request.

This call can create field errors, representing basic binding errors like a required field (code "required"), or type mismatch between value and bean property (code "typeMismatch").

Multipart files are bound via their parameter name, just like normal HTTP parameters: i.e. "uploadedFile" to an "uploadedFile" bean property, invoking a "setUploadedFile" setter method.

The type of the target property for a multipart file can be Part, MultipartFile, byte[], or String. The latter two receive the contents of the uploaded file; all metadata like original file name, content type, etc are lost in those cases.

closeNoCatch

open fun closeNoCatch(): Unit

Treats errors as fatal.

Use this method only if it's an error if the input isn't valid. This might be appropriate if all input is from dropdowns, for example.