Implementations are typically usable both within any application context and standalone.
There is one concrete implementation included in Spring:
There is no default resolver implementation used for Spring {@link org.springframework.web.portlet.DispatcherPortlet DispatcherPortlets}, as an application might choose to parse its multipart requests itself. To define an implementation, create a bean with the id {@link org.springframework.web.portlet.DispatcherPortlet#MULTIPART_RESOLVER_BEAN_NAME "portletMultipartResolver"}in a DispatcherPortlet's
application context. Such a resolver gets applied to all requests handled by that DispatcherPortlet
.
If a DispatcherPortlet
detects a multipart request, it will resolve it via the configured {@link org.springframework.web.multipart.MultipartResolver} and pass on awrapped Portlet {@link ActionRequest}. {@link org.springframework.web.portlet.mvc.Controller Controllers} can thencast their given request to the {@link MultipartActionRequest} interface,being able to access MultipartFiles
. Note that this cast is only supported in case of an actual multipart request.
public void handleActionRequest(ActionRequest request, ActionResponse response) { MultipartActionRequest multipartRequest = (MultipartActionRequest) request; MultipartFile multipartFile = multipartRequest.getFile("image"); ... }Instead of direct access, command or form controllers can register a {@link org.springframework.web.multipart.support.ByteArrayMultipartFileEditor}or {@link org.springframework.web.multipart.support.StringMultipartFileEditor}with their data binder, to automatically apply multipart content to command bean properties.
Note: There is hardly ever a need to access the MultipartResolver
itself from application code. It will simply do its work behind the scenes, making MultipartActionRequests
available to controllers.
@author Juergen Hoeller
@since 2.0
@see MultipartActionRequest
@see org.springframework.web.multipart.MultipartFile
@see CommonsPortletMultipartResolver
@see org.springframework.web.multipart.support.ByteArrayMultipartFileEditor
@see org.springframework.web.multipart.support.StringMultipartFileEditor
@see org.springframework.web.portlet.DispatcherPortlet
|
|
|
|
|
|
|
|