spring-framework / org.springframework.web.bind / ServletRequestDataBinder

ServletRequestDataBinder

open class ServletRequestDataBinder : WebDataBinder

Special org.springframework.validation.DataBinder to perform data binding from servlet 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 be used for manual data binding in custom web controllers: for example, in a plain Controller implementation or in a MultiActionController handler method. Simply instantiate a ServletRequestDataBinder for each binding process, and invoke bind with the current ServletRequest as argument:

 MyBean myBean = new MyBean(); // apply binder to custom target object ServletRequestDataBinder binder = new ServletRequestDataBinder(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
Rod Johnson

Author
Juergen Hoeller

See Also
#bind(javax.servlet.ServletRequest)#registerCustomEditor#setAllowedFields#setRequiredFields#setFieldMarkerPrefix

Constructors

<init>

ServletRequestDataBinder(target: Any)

Create a new ServletRequestDataBinder instance, with default object name.

ServletRequestDataBinder(target: Any, objectName: String)

Create a new ServletRequestDataBinder instance.

Functions

bind

open fun bind(request: ServletRequest): 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 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.

Inheritors

ExtendedServletRequestDataBinder

open class ExtendedServletRequestDataBinder : ServletRequestDataBinder

Subclass of ServletRequestDataBinder that adds URI template variables to the values used for data binding.