Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.dispatcher.multipart
Class MultiPartRequestWrapper

    java.lang.Object
      javax.servlet.ServletRequestWrapper
          javax.servlet.http.HttpServletRequestWrapper
              org.apache.struts2.dispatcher.StrutsRequestWrapper
                  org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper

All Implemented Interfaces:
  javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

    public class MultiPartRequestWrapper

extends StrutsRequestWrapper

Parse a multipart request and provide a wrapper around the request. The parsing implementation used depends on the `struts.multipart.parser` setting. It should be set to a class which extends `MultiPartRequest`.

The `struts.multipart.parser` property should be set to `jakarta` for the Jakarta implementation, `pell` for the Pell implementation and `cos` for the Jason Hunter implementation.

The files are uploaded when the object is instantiated. If there are any errors they are logged using `addError(String)`. An action handling a multipart form should first check `hasErrors()` before doing any other processing.

An alternate implementation, PellMultiPartRequest, is provided as a plugin.

Field Summary
`protected static Logger` | `LOG`

Fields inherited from interface javax.servlet.http.HttpServletRequest
`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

Constructor Summary
`MultiPartRequestWrapper(MultiPartRequest multiPartRequest, javax.servlet.http.HttpServletRequest request, String saveDir, LocaleProvider provider)`
`MultiPartRequestWrapper(MultiPartRequest multiPartRequest, javax.servlet.http.HttpServletRequest request, String saveDir, LocaleProvider provider, boolean disableRequestAttributeValueStackLookup)` Process file downloads and log any errors.

Method Summary
`protected void` | `addError(String anErrorMessage)` Adds an error message when it isn't already added.
`protected String` | `buildErrorMessage(Throwable e, Object[] args)`
`void` | `cleanUp()`
`String[]` | `getContentTypes(String name)` Get an array of content encoding for the specified input field name or `null` if no content type was specified.
`Collection<String>` | `getErrors()` Returns a collection of any errors generated when parsing the multipart request.
`String[]` | `getFileNames(String fieldName)` Get a String array of the file names for uploaded files
`Enumeration<String>` | `getFileParameterNames()` Get an enumeration of the parameter names for uploaded files
`File[]` | `getFiles(String fieldName)` Get a `File[]` for the given input field name.
`String[]` | `getFileSystemNames(String fieldName)` Get the filename(s) of the file(s) uploaded for the given input field name.
`String` | `getParameter(String name)`
`Map` | `getParameterMap()`
`Enumeration` | `getParameterNames()`
`String[]` | `getParameterValues(String name)`
`boolean` | `hasErrors()` Returns `true` if any errors occured when parsing the HTTP multipart request, `false` otherwise.
`protected Enumeration` | `mergeParams(Enumeration params1, Enumeration params2)` Merges 2 enumeration of parameters as one.
`protected void` | `setLocale(javax.servlet.http.HttpServletRequest request)`

Methods inherited from class org.apache.struts2.dispatcher.StrutsRequestWrapper
`getAttribute`

Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
`getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole`

Methods inherited from class javax.servlet.ServletRequestWrapper
`getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setRequest`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.servlet.ServletRequest
`getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding`

Field Detail

### LOG

    protected static final Logger LOG

Constructor Detail

### MultiPartRequestWrapper

    public MultiPartRequestWrapper(MultiPartRequest multiPartRequest,
                                   javax.servlet.http.HttpServletRequest request,
                                   String saveDir,
                                   LocaleProvider provider,
                                   boolean disableRequestAttributeValueStackLookup)

  Process file downloads and log any errors.

  Parameters:
    `multiPartRequest` - Our MultiPartRequest object
    `request` - Our HttpServletRequest object
    `saveDir` - Target directory for any files that we save
    `provider` -

### MultiPartRequestWrapper

    public MultiPartRequestWrapper(MultiPartRequest multiPartRequest,
                                   javax.servlet.http.HttpServletRequest request,
                                   String saveDir,
                                   LocaleProvider provider)

Method Detail

### setLocale

    protected void setLocale(javax.servlet.http.HttpServletRequest request)

### buildErrorMessage

    protected String buildErrorMessage(Throwable e,
                                       Object[] args)

### getFileParameterNames

    public Enumeration<String> getFileParameterNames()

  Get an enumeration of the parameter names for uploaded files

  Returns:
    enumeration of parameter names for uploaded files

### getContentTypes

    public String[] getContentTypes(String name)

  Get an array of content encoding for the specified input field name or `null` if no content type was specified.

  Parameters:
    `name` - input field name
  Returns:
    an array of content encoding for the specified input field name

### getFiles

    public File[] getFiles(String fieldName)

  Get a `File[]` for the given input field name.

  Parameters:
    `fieldName` - input field name
  Returns:
    a File[] object for files associated with the specified input field name

### getFileNames

    public String[] getFileNames(String fieldName)

  Get a String array of the file names for uploaded files

  Parameters:
    `fieldName` - Field to check for file names.
  Returns:
    a String[] of file names for uploaded files

### getFileSystemNames

    public String[] getFileSystemNames(String fieldName)

  Get the filename(s) of the file(s) uploaded for the given input field name. Returns `null` if the file is not found.

  Parameters:
    `fieldName` - input field name
  Returns:
    the filename(s) of the file(s) uploaded for the given input field name or `null` if name not found.

### getParameter

    public String getParameter(String name)

  Specified by:
    `getParameter` in interface `javax.servlet.ServletRequest`
  Overrides:
    `getParameter` in class `javax.servlet.ServletRequestWrapper`
  See Also:
    `ServletRequest.getParameter(String)`

### getParameterMap

    public Map getParameterMap()

  Specified by:
    `getParameterMap` in interface `javax.servlet.ServletRequest`
  Overrides:
    `getParameterMap` in class `javax.servlet.ServletRequestWrapper`
  See Also:
    `ServletRequest.getParameterMap()`

### getParameterNames

    public Enumeration getParameterNames()

  Specified by:
    `getParameterNames` in interface `javax.servlet.ServletRequest`
  Overrides:
    `getParameterNames` in class `javax.servlet.ServletRequestWrapper`
  See Also:
    `ServletRequest.getParameterNames()`

### getParameterValues

    public String[] getParameterValues(String name)

  Specified by:
    `getParameterValues` in interface `javax.servlet.ServletRequest`
  Overrides:
    `getParameterValues` in class `javax.servlet.ServletRequestWrapper`
  See Also:
    `ServletRequest.getParameterValues(String)`

### hasErrors

    public boolean hasErrors()

  Returns `true` if any errors occured when parsing the HTTP multipart request, `false` otherwise.

  Returns:
    `true` if any errors occured when parsing the HTTP multipart request, `false` otherwise.

### getErrors

    public Collection<String> getErrors()

  Returns a collection of any errors generated when parsing the multipart request.

  Returns:
    the error Collection.

### addError

    protected void addError(String anErrorMessage)

  Adds an error message when it isn't already added.

  Parameters:
    `anErrorMessage` - the error message to report.

### mergeParams

    protected Enumeration mergeParams(Enumeration params1,
                                      Enumeration params2)

  Merges 2 enumeration of parameters as one.

  Parameters:
    `params1` - the first enumeration.
    `params2` - the second enumeration.
  Returns:
    a single Enumeration of all elements from both Enumerations.

### cleanUp

    public void cleanUp()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000–2018 Apache Software Foundation. All rights reserved.