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.struts.util
Class RequestUtils

    java.lang.Object
      |
      +--org.apache.struts.util.RequestUtils

public class RequestUtils
extends java.lang.Object

General purpose utility methods related to processing a servlet request in the Struts controller framework.

Version:
  $Revision: 1.1 $ $Date: 2003/08/22 08:43:29 $
Author:
  Craig R. McClanahan, Ted Husted, James Turner, David Graham

Field Summary
`private static java.lang.reflect.Method` | `encode` Java 1.4 encode method to use instead of deprecated 1.3 version.
`protected static org.apache.commons.logging.Log` | `log` Commons Logging instance.
`private static MessageResources` | `messages` The message resources for this package.
`private static java.lang.String` | `PREFIXES_KEY` The context attribute under which we store our prefixes list.
`private static java.util.Map` | `scopes` Maps lowercase JSP scope names to their PageContext integer constant values.

Constructor Summary
`RequestUtils()`

Method Summary
`static java.net.URL` | `absoluteURL(javax.servlet.http.HttpServletRequest request, java.lang.String path)` Create and return an absolute URL for the specified context-relative path, based on the server and context information in the specified request.
`static java.lang.String` | `actionURL(javax.servlet.http.HttpServletRequest request, ActionConfig action, java.lang.String pattern)` Return the context-relative URL that corresponds to the specified `ActionConfig`, relative to the module associated with the current modules's `ModuleConfig`.
`static java.lang.Class` | `applicationClass(java.lang.String className)` Return the `Class` object for the specified fully qualified class name, from this web application's class loader.
`static java.lang.Object` | `applicationInstance(java.lang.String className)` Return a new instance of the specified fully qualified class name, after loading the class from this web application's class loader.
`static java.util.Map` | `computeParameters(javax.servlet.jsp.PageContext pageContext, java.lang.String paramId, java.lang.String paramName, java.lang.String paramProperty, java.lang.String paramScope, java.lang.String name, java.lang.String property, java.lang.String scope, boolean transaction)` Compute a set of query parameters that will be dynamically added to a generated URL.
`static java.lang.String` | `computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.util.Map params, java.lang.String anchor, boolean redirect)` Deprecated. To be removed in Version 1.3. Use `computeURL(PageContext, String, String, String, String, Map, String, boolean)` instead.
`static java.lang.String` | `computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.lang.String action, java.util.Map params, java.lang.String anchor, boolean redirect)` Compute a hyperlink URL based on the `forward`, `href`, `action` or `page` parameter that is not null.
`static java.lang.String` | `computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.lang.String action, java.util.Map params, java.lang.String anchor, boolean redirect, boolean encodeSeparator)` Compute a hyperlink URL based on the `forward`, `href`, `action` or `page` parameter that is not null.
`static ActionForm` | `createActionForm(javax.servlet.http.HttpServletRequest request, ActionMapping mapping, ModuleConfig moduleConfig, ActionServlet servlet)` Create (if necessary) and return an ActionForm instance appropriate for this request.
`static java.lang.String` | `encodeURL(java.lang.String url)` Use the new URLEncoder.encode() method from java 1.4 if available, else use the old deprecated version.
`static java.lang.String` | `forwardURL(javax.servlet.http.HttpServletRequest request, ForwardConfig forward)` Return the context-relative URL that corresponds to the specified ForwardConfig.
`static ActionErrors` | `getActionErrors(javax.servlet.jsp.PageContext pageContext, java.lang.String paramName)` Retrieves the value from request scope and if it isn't already an `ErrorMessages` some classes are converted to one.
`static java.lang.String` | `getActionMappingName(java.lang.String action)` Return the form action converted into an action mapping path.
`static java.lang.String` | `getActionMappingURL(java.lang.String action, javax.servlet.jsp.PageContext pageContext)` Return the form action converted into a server-relative URL.
`static ActionMessages` | `getActionMessages(javax.servlet.jsp.PageContext pageContext, java.lang.String paramName)` Retrieves the value from request scope and if it isn't already an `ActionMessages` some classes are converted to one.
`private static java.util.Map` | `getAllParametersForMultipartRequest(javax.servlet.http.HttpServletRequest request, MultipartRequestHandler multipartHandler)` Create a map containing all of the parameters supplied for a multipart request, keyed by parameter name.
`static java.lang.String[]` | `getApplicationPrefixes(javax.servlet.ServletContext context)` Deprecated. Use getModulePrefixes(ServletContext) instead.
`static ModuleConfig` | `getModuleConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Return the ModuleConfig object is it exists, null otherwise.
`static ModuleConfig` | `getModuleConfig(javax.servlet.jsp.PageContext pageContext)` Return the ModuleConfig object if it exists, null if otherwise.
`static java.lang.String` | `getModuleName(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Get the module name to which the specified request belong.
`static java.lang.String` | `getModuleName(java.lang.String matchPath, javax.servlet.ServletContext context)` Get the module name to which the specified uri belong.
`static java.lang.String[]` | `getModulePrefixes(javax.servlet.ServletContext context)` Return the list of module prefixes that are defined for this web application, creating it if necessary.
`private static MultipartRequestHandler` | `getMultipartHandler(javax.servlet.http.HttpServletRequest request)` Try to locate a multipart request handler for this request.
`static ModuleConfig` | `getRequestModuleConfig(javax.servlet.http.HttpServletRequest request)` Return the current ModuleConfig object stored in request, if it exists, null otherwise.
`static int` | `getScope(java.lang.String scopeName)` Converts the scope name into its corresponding PageContext constant value.
`static boolean` | `isXhtml(javax.servlet.jsp.PageContext pageContext)` Returns true if the custom tags are in XHTML mode.
`static java.lang.Object` | `lookup(javax.servlet.jsp.PageContext pageContext, java.lang.String name, java.lang.String scopeName)` Locate and return the specified bean, from an optionally specified scope, in the specified page context.
`static java.lang.Object` | `lookup(javax.servlet.jsp.PageContext pageContext, java.lang.String name, java.lang.String property, java.lang.String scope)` Locate and return the specified property of the specified bean, from an optionally specified scope, in the specified page context.
`static java.lang.String` | `message(javax.servlet.jsp.PageContext pageContext, java.lang.String bundle, java.lang.String locale, java.lang.String key)` Look up and return a message string, based on the specified parameters.
`static java.lang.String` | `message(javax.servlet.jsp.PageContext pageContext, java.lang.String bundle, java.lang.String locale, java.lang.String key, java.lang.Object[] args)` Look up and return a message string, based on the specified parameters.
`static java.lang.String` | `pageURL(javax.servlet.http.HttpServletRequest request, java.lang.String page)` Return the context-relative URL that corresponds to the specified `page` attribute value, calculated based on the `pagePattern` property of the current module's `ModuleConfig`.
`static void` | `populate(java.lang.Object bean, javax.servlet.http.HttpServletRequest request)` Populate the properties of the specified JavaBean from the specified HTTP request, based on matching each parameter name against the corresponding JavaBeans "property setter" methods in the bean's class.
`static void` | `populate(java.lang.Object bean, java.lang.String prefix, java.lang.String suffix, javax.servlet.http.HttpServletRequest request)` Populate the properties of the specified JavaBean from the specified HTTP request, based on matching each parameter name (plus an optional prefix and/or suffix) against the corresponding JavaBeans "property setter" methods in the bean's class.
`static boolean` | `present(javax.servlet.jsp.PageContext pageContext, java.lang.String bundle, java.lang.String locale, java.lang.String key)` Return true if a message string for the specified message key is present for the specified Locale.
`static java.lang.String` | `printableURL(java.net.URL url)` Compute the printable representation of a URL, leaving off the scheme/host/port part if no host is specified.
`static java.net.URL` | `requestURL(javax.servlet.http.HttpServletRequest request)` Return the URL representing the current request.
`private static MessageResources` | `retrieveMessageResources(javax.servlet.jsp.PageContext pageContext, java.lang.String bundle, boolean checkPageScope)` Returns the appropriate MessageResources object for the current module and the given bundle.
`static java.util.Locale` | `retrieveUserLocale(javax.servlet.jsp.PageContext pageContext, java.lang.String locale)` Look up and return current user locale, based on the specified parameters.
`static void` | `saveException(javax.servlet.jsp.PageContext pageContext, java.lang.Throwable exception)` Save the specified exception as a request attribute for later use.
`static void` | `selectApplication(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Deprecated. use `selectModule(HttpServletRequest,ServletContext)`
`static void` | `selectApplication(java.lang.String prefix, javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Deprecated. use `selectModule(String,HttpServletRequest,ServletContext)`
`static void` | `selectModule(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Select the module to which the specified request belongs, and add corresponding request attributes to this request.
`static void` | `selectModule(java.lang.String prefix, javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext context)` Select the module to which the specified request belongs, and add corresponding request attributes to this request.
`static java.net.URL` | `serverURL(javax.servlet.http.HttpServletRequest request)` Return the URL representing the scheme, server, and port number of the current request.

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

Field Detail

### log

    protected static org.apache.commons.logging.Log log

  Commons Logging instance.

### messages

    private static MessageResources messages

  The message resources for this package.

### PREFIXES_KEY

    private static final java.lang.String PREFIXES_KEY

  The context attribute under which we store our prefixes list.

  See Also:
    Constant Field Values

### encode

    private static java.lang.reflect.Method encode

  Java 1.4 encode method to use instead of deprecated 1.3 version.

### scopes

    private static java.util.Map scopes

  Maps lowercase JSP scope names to their PageContext integer constant values.

Constructor Detail

### RequestUtils

    public RequestUtils()

Method Detail

### absoluteURL

    public static java.net.URL absoluteURL(javax.servlet.http.HttpServletRequest request,
                                           java.lang.String path)
                                    throws java.net.MalformedURLException

  Create and return an absolute URL for the specified context-relative path, based on the server and context information in the specified request.

  Parameters:
    `request` - The servlet request we are processing
    `path` - The context-relative path (must start with '/')
  Returns:
    absolute URL based on context-relative path
  Throws:
    `java.net.MalformedURLException` - if we cannot create an absolute URL

### applicationClass

    public static java.lang.Class applicationClass(java.lang.String className)
                                            throws java.lang.ClassNotFoundException

  Return the `Class` object for the specified fully qualified class name, from this web application's class loader.

  Parameters:
    `className` - Fully qualified class name to be loaded
  Returns:
    Class object
  Throws:
    `java.lang.ClassNotFoundException` - if the class cannot be found

### applicationInstance

    public static java.lang.Object applicationInstance(java.lang.String className)
                                                throws java.lang.ClassNotFoundException,
                                                       java.lang.IllegalAccessException,
                                                       java.lang.InstantiationException

  Return a new instance of the specified fully qualified class name, after loading the class from this web application's class loader. The specified class MUST have a public zero-arguments constructor.

  Parameters:
    `className` - Fully qualified class name to use
  Returns:
    new instance of class
  Throws:
    `java.lang.ClassNotFoundException` - if the class cannot be found
    `java.lang.IllegalAccessException` - if the class or its constructor is not accessible
    `java.lang.InstantiationException` - if this class represents an abstract class, an interface, an array class, a primitive type, or void
    `java.lang.InstantiationException` - if this class has no zero-arguments constructor

### computeParameters

    public static java.util.Map computeParameters(javax.servlet.jsp.PageContext pageContext,
                                                  java.lang.String paramId,
                                                  java.lang.String paramName,
                                                  java.lang.String paramProperty,
                                                  java.lang.String paramScope,
                                                  java.lang.String name,
                                                  java.lang.String property,
                                                  java.lang.String scope,
                                                  boolean transaction)
                                           throws javax.servlet.jsp.JspException

  Compute a set of query parameters that will be dynamically added to a generated URL. The returned Map is keyed by parameter name, and the values are either null (no value specified), a String (single value specified), or a String[] array (multiple values specified). Parameter names correspond to the corresponding attributes of the `<html:link>` tag. If no query parameters are identified, return `null`.

  Parameters:
    `pageContext` - PageContext we are operating in
    `paramId` - Single-value request parameter name (if any)
    `paramName` - Bean containing single-value parameter value
    `paramProperty` - Property (of bean named by `paramName` containing single-value parameter value
    `paramScope` - Scope containing bean named by `paramName`
    `name` - Bean containing multi-value parameters Map (if any)
    `property` - Property (of bean named by `name` containing multi-value parameters Map
    `scope` - Scope containing bean named by `name`
    `transaction` - Should we add our transaction control token?
  Returns:
    Map of query parameters
  Throws:
    `javax.servlet.jsp.JspException` - if we cannot look up the required beans
    `javax.servlet.jsp.JspException` - if a class cast exception occurs on a looked-up bean or property

### computeURL

    public static java.lang.String computeURL(javax.servlet.jsp.PageContext pageContext,
                                              java.lang.String forward,
                                              java.lang.String href,
                                              java.lang.String page,
                                              java.util.Map params,
                                              java.lang.String anchor,
                                              boolean redirect)
                                       throws java.net.MalformedURLException

  Deprecated. To be removed in Version 1.3. Use `computeURL(PageContext, String, String, String, String, Map, String, boolean)` instead.

  Compute a hyperlink URL based on the `forward`, `href` or `page` parameter that is not null.

  Parameters:
    `pageContext` - PageContext for the tag making this call
    `forward` - Logical forward name for which to look up the context-relative URI (if specified)
    `href` - URL to be utilized unmodified (if specified)
    `page` - Module-relative page for which a URL should be created (if specified)
    `params` - Map of parameters to be dynamically included (if any)
    `anchor` - Anchor to be dynamically included (if any)
    `redirect` - Is this URL for a `response.sendRedirect()`?
  Returns:
    URL with session identifier
  Throws:
    `java.net.MalformedURLException` - if a URL cannot be created for the specified parameters

### computeURL

    public static java.lang.String computeURL(javax.servlet.jsp.PageContext pageContext,
                                              java.lang.String forward,
                                              java.lang.String href,
                                              java.lang.String page,
                                              java.lang.String action,
                                              java.util.Map params,
                                              java.lang.String anchor,
                                              boolean redirect)
                                       throws java.net.MalformedURLException

  Compute a hyperlink URL based on the `forward`, `href`, `action` or `page` parameter that is not null. The returned URL will have already been passed to `response.encodeURL()` for adding a session identifier.

  Parameters:
    `pageContext` - PageContext for the tag making this call
    `forward` - Logical forward name for which to look up the context-relative URI (if specified)
    `href` - URL to be utilized unmodified (if specified)
    `page` - Module-relative page for which a URL should be created (if specified)
    `action` - Logical action name for which to look up the context-relative URI (if specified)
    `params` - Map of parameters to be dynamically included (if any)
    `anchor` - Anchor to be dynamically included (if any)
    `redirect` - Is this URL for a `response.sendRedirect()`?
  Returns:
    URL with session identifier
  Throws:
    `java.net.MalformedURLException` - if a URL cannot be created for the specified parameters

### computeURL

    public static java.lang.String computeURL(javax.servlet.jsp.PageContext pageContext,
                                              java.lang.String forward,
                                              java.lang.String href,
                                              java.lang.String page,
                                              java.lang.String action,
                                              java.util.Map params,
                                              java.lang.String anchor,
                                              boolean redirect,
                                              boolean encodeSeparator)
                                       throws java.net.MalformedURLException

  Compute a hyperlink URL based on the `forward`, `href`, `action` or `page` parameter that is not null. The returned URL will have already been passed to `response.encodeURL()` for adding a session identifier.

  Parameters:
    `pageContext` - PageContext for the tag making this call
    `forward` - Logical forward name for which to look up the context-relative URI (if specified)
    `href` - URL to be utilized unmodified (if specified)
    `page` - Module-relative page for which a URL should be created (if specified)
    `action` - Logical action name for which to look up the context-relative URI (if specified)
    `params` - Map of parameters to be dynamically included (if any)
    `anchor` - Anchor to be dynamically included (if any)
    `redirect` - Is this URL for a `response.sendRedirect()`?
    `encodeSeparator` - This is only checked if redirect is set to false (never encoded for a redirect). If true, query string parameter separators are encoded as >amp;, else & is used.
  Returns:
    URL with session identifier
  Throws:
    `java.net.MalformedURLException` - if a URL cannot be created for the specified parameters

### getActionMappingName

    public static java.lang.String getActionMappingName(java.lang.String action)

  Return the form action converted into an action mapping path. The value of the `action` property is manipulated as follows in computing the name of the requested mapping:
  - Any filename extension is removed (on the theory that extension mapping is being used to select the controller servlet).
  - If the resulting value does not start with a slash, then a slash is prepended.

### getActionMappingURL

    public static java.lang.String getActionMappingURL(java.lang.String action,
                                                       javax.servlet.jsp.PageContext pageContext)

  Return the form action converted into a server-relative URL.

### createActionForm

    public static ActionForm createActionForm(javax.servlet.http.HttpServletRequest request,
                                              ActionMapping mapping,
                                              ModuleConfig moduleConfig,
                                              ActionServlet servlet)

  Create (if necessary) and return an ActionForm instance appropriate for this request. If no ActionForm instance is required, return `null`.

  Parameters:
    `request` - The servlet request we are processing
    `mapping` - The action mapping for this request
    `moduleConfig` - The configuration for this module
    `servlet` - The action servlet
  Returns:
    ActionForm instance associated with this request

### lookup

    public static java.lang.Object lookup(javax.servlet.jsp.PageContext pageContext,
                                          java.lang.String name,
                                          java.lang.String scopeName)
                                   throws javax.servlet.jsp.JspException

  Locate and return the specified bean, from an optionally specified scope, in the specified page context. If no such bean is found, return `null` instead. If an exception is thrown, it will have already been saved via a call to `saveException()`.

  Parameters:
    `pageContext` - Page context to be searched
    `name` - Name of the bean to be retrieved
    `scopeName` - Scope to be searched (page, request, session, application) or `null` to use `findAttribute()` instead
  Returns:
    JavaBean in the specified page context
  Throws:
    `javax.servlet.jsp.JspException` - if an invalid scope name is requested

### getScope

    public static int getScope(java.lang.String scopeName)
                        throws javax.servlet.jsp.JspException

  Converts the scope name into its corresponding PageContext constant value.

  Parameters:
    `scopeName` - Can be "page", "request", "session", or "application" in any case.
  Returns:
    The constant representing the scope (ie. PageContext.REQUEST_SCOPE).
  Throws:
    `javax.servlet.jsp.JspException` - if the scopeName is not a valid name.
  Since:
    Struts 1.1

### lookup

    public static java.lang.Object lookup(javax.servlet.jsp.PageContext pageContext,
                                          java.lang.String name,
                                          java.lang.String property,
                                          java.lang.String scope)
                                   throws javax.servlet.jsp.JspException

  Locate and return the specified property of the specified bean, from an optionally specified scope, in the specified page context. If an exception is thrown, it will have already been saved via a call to `saveException()`.

  Parameters:
    `pageContext` - Page context to be searched
    `name` - Name of the bean to be retrieved
    `property` - Name of the property to be retrieved, or `null` to retrieve the bean itself
    `scope` - Scope to be searched (page, request, session, application) or `null` to use `findAttribute()` instead
  Returns:
    property of specified JavaBean
  Throws:
    `javax.servlet.jsp.JspException` - if an invalid scope name is requested
    `javax.servlet.jsp.JspException` - if the specified bean is not found
    `javax.servlet.jsp.JspException` - if accessing this property causes an IllegalAccessException, IllegalArgumentException, InvocationTargetException, or NoSuchMethodException

### retrieveUserLocale

    public static java.util.Locale retrieveUserLocale(javax.servlet.jsp.PageContext pageContext,
                                                      java.lang.String locale)

  Look up and return current user locale, based on the specified parameters.

  Parameters:
    `pageContext` - The PageContext associated with this request
    `locale` - Name of the session attribute for our user's Locale. If this is `null`, the default locale key is used for the lookup.
  Returns:
    current user locale

### message

    public static java.lang.String message(javax.servlet.jsp.PageContext pageContext,
                                           java.lang.String bundle,
                                           java.lang.String locale,
                                           java.lang.String key)
                                    throws javax.servlet.jsp.JspException

  Look up and return a message string, based on the specified parameters.

  Parameters:
    `pageContext` - The PageContext associated with this request
    `bundle` - Name of the servlet context attribute for our message resources bundle
    `locale` - Name of the session attribute for our user's Locale
    `key` - Message key to be looked up and returned
  Returns:
    message string
  Throws:
    `javax.servlet.jsp.JspException` - if a lookup error occurs (will have been saved in the request already)

### message

    public static java.lang.String message(javax.servlet.jsp.PageContext pageContext,
                                           java.lang.String bundle,
                                           java.lang.String locale,
                                           java.lang.String key,
                                           java.lang.Object[] args)
                                    throws javax.servlet.jsp.JspException

  Look up and return a message string, based on the specified parameters.

  Parameters:
    `pageContext` - The PageContext associated with this request
    `bundle` - Name of the servlet context attribute for our message resources bundle
    `locale` - Name of the session attribute for our user's Locale
    `key` - Message key to be looked up and returned
    `args` - Replacement parameters for this message
  Returns:
    message string
  Throws:
    `javax.servlet.jsp.JspException` - if a lookup error occurs (will have been saved in the request already)

### retrieveMessageResources

    private static MessageResources retrieveMessageResources(javax.servlet.jsp.PageContext pageContext,
                                                             java.lang.String bundle,
                                                             boolean checkPageScope)
                                                      throws javax.servlet.jsp.JspException

  Returns the appropriate MessageResources object for the current module and the given bundle.

  Parameters:
    `pageContext` - Search the context's scopes for the resources.
    `bundle` - The bundle name to look for. If this is `null`, the default bundle name is used.
  Returns:
    MessageResources The bundle's resources stored in some scope.
  Throws:
    `javax.servlet.jsp.JspException` - if the MessageResources object could not be found.

### populate

    public static void populate(java.lang.Object bean,
                                javax.servlet.http.HttpServletRequest request)
                         throws javax.servlet.ServletException

  Populate the properties of the specified JavaBean from the specified HTTP request, based on matching each parameter name against the corresponding JavaBeans "property setter" methods in the bean's class. Suitable conversion is done for argument types as described under `convert()`.

  Parameters:
    `bean` - The JavaBean whose properties are to be set
    `request` - The HTTP request whose parameters are to be used to populate bean properties
  Throws:
    `javax.servlet.ServletException` - if an exception is thrown while setting property values

### populate

    public static void populate(java.lang.Object bean,
                                java.lang.String prefix,
                                java.lang.String suffix,
                                javax.servlet.http.HttpServletRequest request)
                         throws javax.servlet.ServletException

  Populate the properties of the specified JavaBean from the specified HTTP request, based on matching each parameter name (plus an optional prefix and/or suffix) against the corresponding JavaBeans "property setter" methods in the bean's class. Suitable conversion is done for argument types as described under `setProperties()`.

  If you specify a non-null `prefix` and a non-null `suffix`, the parameter name must match both conditions for its value(s) to be used in populating bean properties. If the request's content type is "multipart/form-data" and the method is "POST", the HttpServletRequest object will be wrapped in a MultipartRequestWrapper object.

  Parameters:
    `bean` - The JavaBean whose properties are to be set
    `prefix` - The prefix (if any) to be prepend to bean property names when looking for matching parameters
    `suffix` - The suffix (if any) to be appended to bean property names when looking for matching parameters
    `request` - The HTTP request whose parameters are to be used to populate bean properties
  Throws:
    `javax.servlet.ServletException` - if an exception is thrown while setting property values

### getMultipartHandler

    private static MultipartRequestHandler getMultipartHandler(javax.servlet.http.HttpServletRequest request)
                                                        throws javax.servlet.ServletException

  Try to locate a multipart request handler for this request. First, look for a mapping-specific handler stored for us under an attribute. If one is not present, use the global multipart handler, if there is one.

  Parameters:
    `request` - The HTTP request for which the multipart handler should be found.
  Returns:
    the multipart handler to use, or `null` if none is found.
  Throws:
    `javax.servlet.ServletException` - if any exception is thrown while attempting to locate the multipart handler.

### getAllParametersForMultipartRequest

    private static java.util.Map getAllParametersForMultipartRequest(javax.servlet.http.HttpServletRequest request,
                                                                     MultipartRequestHandler multipartHandler)

  Create a map containing all of the parameters supplied for a multipart request, keyed by parameter name. In addition to text and file elements from the multipart body, query string parameters are included as well.

  Parameters:
    `request` - The (wrapped) HTTP request whose parameters are to be added to the map.
    `multipartHandler` - The multipart handler used to parse the request.
  Returns:
    the map containing all parameters for this multipart request.

### present

    public static boolean present(javax.servlet.jsp.PageContext pageContext,
                                  java.lang.String bundle,
                                  java.lang.String locale,
                                  java.lang.String key)
                           throws javax.servlet.jsp.JspException

  Return true if a message string for the specified message key is present for the specified Locale.

  Parameters:
    `pageContext` - The PageContext associated with this request
    `bundle` - Name of the servlet context attribute for our message resources bundle
    `locale` - Name of the session attribute for our user's Locale
    `key` - Message key to be looked up and returned
  Returns:
    true if a message string for message key exists
  Throws:
    `javax.servlet.jsp.JspException` - if a lookup error occurs (will have been saved in the request already)

### printableURL

    public static java.lang.String printableURL(java.net.URL url)

  Compute the printable representation of a URL, leaving off the scheme/host/port part if no host is specified. This will typically be the case for URLs that were originally created from relative or context-relative URIs.

  Parameters:
    `url` - URL to render in a printable representation
  Returns:
    printable representation of a URL

### actionURL

    public static java.lang.String actionURL(javax.servlet.http.HttpServletRequest request,
                                             ActionConfig action,
                                             java.lang.String pattern)

  Return the context-relative URL that corresponds to the specified `ActionConfig`, relative to the module associated with the current modules's `ModuleConfig`.

  Parameters:
    `request` - The servlet request we are processing
    `action` - ActionConfig to be evaluated
    `pattern` - URL pattern used to map the controller servlet
  Returns:
    context-relative URL relative to the module
  Since:
    Struts 1.1

### forwardURL

    public static java.lang.String forwardURL(javax.servlet.http.HttpServletRequest request,
                                              ForwardConfig forward)

  Return the context-relative URL that corresponds to the specified ForwardConfig. The URL is calculated based on the properties of the `ForwardConfig` instance as follows:
  - If the `contextRelative` property is set, it is assumed that the `path` property contains a path that is already context-relative:
    - If the `path` property value starts with a slash, it is returned unmodified.
    - If the `path` property value does not start with a slash, a slash is prepended.
  - Acquire the `forwardPattern` property from the `ControllerConfig` for the application module used to process this request. If no pattern was configured, default to a pattern of `$M$P`, which is compatible with the hard-coded mapping behavior in Struts 1.0.
  - Process the acquired `forwardPattern`, performing the following substitutions:
    - $M - Replaced by the module prefix for the application module processing this request.
    - $P - Replaced by the `path` property of the specified `ForwardConfig`, prepended with a slash if it does not start with one.
    - $$ - Replaced by a single dollar sign character.
    - $x (where "x" is any charater not listed above) - Silently omit these two characters from the result value. (This has the side effect of causing all other $+letter combinations to be reserved.)

  Parameters:
    `request` - The servlet request we are processing
    `forward` - ForwardConfig to be evaluated
  Returns:
    context-relative URL
  Since:
    Struts 1.1

### pageURL

    public static java.lang.String pageURL(javax.servlet.http.HttpServletRequest request,
                                           java.lang.String page)

  Return the context-relative URL that corresponds to the specified `page` attribute value, calculated based on the `pagePattern` property of the current module's `ModuleConfig`.

  Parameters:
    `request` - The servlet request we are processing
    `page` - The module-relative URL to be substituted in to the `pagePattern` pattern for the current module (MUST start with a slash)
  Returns:
    context-relative URL
  Since:
    Struts 1.1

### requestURL

    public static java.net.URL requestURL(javax.servlet.http.HttpServletRequest request)
                                   throws java.net.MalformedURLException

  Return the URL representing the current request. This is equivalent to `HttpServletRequest.getRequestURL()` in Servlet 2.3.

  Parameters:
    `request` - The servlet request we are processing
  Returns:
    URL representing the current request
  Throws:
    `java.net.MalformedURLException` - if a URL cannot be created

### serverURL

    public static java.net.URL serverURL(javax.servlet.http.HttpServletRequest request)
                                  throws java.net.MalformedURLException

  Return the URL representing the scheme, server, and port number of the current request. Server-relative URLs can be created by simply appending the server-relative path (starting with '/') to this.

  Parameters:
    `request` - The servlet request we are processing
  Returns:
    URL representing the scheme, server, and port number of the current request
  Throws:
    `java.net.MalformedURLException` - if a URL cannot be created

### saveException

    public static void saveException(javax.servlet.jsp.PageContext pageContext,
                                     java.lang.Throwable exception)

  Save the specified exception as a request attribute for later use.

  Parameters:
    `pageContext` - The PageContext for the current page
    `exception` - The exception to be saved

### selectApplication

    public static void selectApplication(java.lang.String prefix,
                                         javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.ServletContext context)

  Deprecated. use `selectModule(String,HttpServletRequest,ServletContext)`

  Select the module to which the specified request belongs, and add corresponding request attributes to this request.

  Parameters:
    `prefix` - The module prefix of the desired module
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application

### selectModule

    public static void selectModule(java.lang.String prefix,
                                    javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.ServletContext context)

  Select the module to which the specified request belongs, and add corresponding request attributes to this request.

  Parameters:
    `prefix` - The module prefix of the desired module
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application
  Since:
    struts 1.1

### selectApplication

    public static void selectApplication(javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.ServletContext context)

  Deprecated. use `selectModule(HttpServletRequest,ServletContext)`

  Select the module to which the specified request belongs, and add corresponding request attributes to this request.

  Parameters:
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application

### selectModule

    public static void selectModule(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.ServletContext context)

  Select the module to which the specified request belongs, and add corresponding request attributes to this request.

  Parameters:
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application

### getModuleName

    public static java.lang.String getModuleName(javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.ServletContext context)

  Get the module name to which the specified request belong.

  Parameters:
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application
  Returns:
    The module prefix or ""

### getModuleName

    public static java.lang.String getModuleName(java.lang.String matchPath,
                                                 javax.servlet.ServletContext context)

  Get the module name to which the specified uri belong.

  Parameters:
    `matchPath` - The uri from which we want the module name.
    `context` - The ServletContext for this web application
  Returns:
    The module prefix or ""

### getRequestModuleConfig

    public static ModuleConfig getRequestModuleConfig(javax.servlet.http.HttpServletRequest request)

  Return the current ModuleConfig object stored in request, if it exists, null otherwise. This method can be used by plugin to retrieve the current module config object. If no moduleConfig is found, this means that the request haven't hit the server throught the struts servlet. The appropriate module config can be set and found with ``selectModule(HttpServletRequest, ServletContext)`` .

  Parameters:
    `request` - The servlet request we are processing
  Returns:
    the ModuleConfig object from request, or null if none is set in the request.
  Since:
    1.1

### getModuleConfig

    public static ModuleConfig getModuleConfig(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.ServletContext context)

  Return the ModuleConfig object is it exists, null otherwise.

  Parameters:
    `request` - The servlet request we are processing
    `context` - The ServletContext for this web application
  Returns:
    the ModuleConfig object
  Since:
    1.1

### getModuleConfig

    public static ModuleConfig getModuleConfig(javax.servlet.jsp.PageContext pageContext)

  Return the ModuleConfig object if it exists, null if otherwise.

  Parameters:
    `pageContext` - The page context.
  Returns:
    the ModuleConfig object
  Since:
    1.1

### getApplicationPrefixes

    public static java.lang.String[] getApplicationPrefixes(javax.servlet.ServletContext context)

  Deprecated. Use getModulePrefixes(ServletContext) instead.

  Return the list of module prefixes that are defined for this web application, creating it if necessary. NOTE - the "" prefix for the default module is not included in this list.

  Parameters:
    `context` - The ServletContext for this web application
  Returns:
    an array of module prefixes

### getModulePrefixes

    public static java.lang.String[] getModulePrefixes(javax.servlet.ServletContext context)

  Return the list of module prefixes that are defined for this web application, creating it if necessary. NOTE - the "" prefix for the default module is not included in this list.

  Parameters:
    `context` - The ServletContext for this web application
  Returns:
    an array of module prefixes
  Since:
    Struts 1.1

### getActionMessages

    public static ActionMessages getActionMessages(javax.servlet.jsp.PageContext pageContext,
                                                   java.lang.String paramName)
                                            throws javax.servlet.jsp.JspException

  Retrieves the value from request scope and if it isn't already an `ActionMessages` some classes are converted to one.

  Parameters:
    `pageContext` - The PageContext for the current page
    `paramName` - Key for parameter value
  Returns:
    ActionErros in page context.
  Throws:
    `javax.servlet.jsp.JspException` - if

### getActionErrors

    public static ActionErrors getActionErrors(javax.servlet.jsp.PageContext pageContext,
                                               java.lang.String paramName)
                                        throws javax.servlet.jsp.JspException

  Retrieves the value from request scope and if it isn't already an `ErrorMessages` some classes are converted to one.

  Parameters:
    `pageContext` - The PageContext for the current page
    `paramName` - Key for parameter value
  Returns:
    ActionErrors from request scope
  Throws:
    `javax.servlet.jsp.JspException`

### encodeURL

    public static java.lang.String encodeURL(java.lang.String url)

  Use the new URLEncoder.encode() method from java 1.4 if available, else use the old deprecated version. This method uses reflection to find the appropriate method; if the reflection operations throw exceptions, this will return the url encoded with the old URLEncoder.encode() method.

  Returns:
    String - the encoded url.

### isXhtml

    public static boolean isXhtml(javax.servlet.jsp.PageContext pageContext)

  Returns true if the custom tags are in XHTML mode.

  Since:
    Struts 1.1

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-2003 - Apache Software Foundation