|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.struts.util.RequestUtils
public class RequestUtils
General purpose utility methods related to processing a servlet request in the Struts controller framework.
Field Summary | |
---|---|
protected static Log |
log
Commons Logging instance. |
Constructor Summary | |
---|---|
RequestUtils()
|
Method Summary | |
---|---|
static URL |
absoluteURL(HttpServletRequest request,
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 String |
actionIdURL(ForwardConfig forward,
HttpServletRequest request,
ActionServlet servlet)
Returns the true path of the destination action if the specified forward is an action-aliased URL. |
static String |
actionIdURL(String originalPath,
ModuleConfig moduleConfig,
ActionServlet servlet)
Returns the true path of the destination action if the specified forward is an action-aliased URL. |
static String |
actionURL(HttpServletRequest request,
ActionConfig action,
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 Class |
applicationClass(String className)
Return the Class object for the specified fully
qualified class name, from this web application's class loader. |
static Class |
applicationClass(String className,
ClassLoader classLoader)
Return the Class object for the specified fully
qualified class name, from this web application's class loader. |
static Object |
applicationInstance(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 Object |
applicationInstance(String className,
ClassLoader classLoader)
Return a new instance of the specified fully qualified class name, after loading the class from this web application's class loader. |
static ActionForm |
createActionForm(FormBeanConfig config,
ActionServlet servlet)
Create and return an ActionForm instance appropriate to
the information in config . |
static ActionForm |
createActionForm(HttpServletRequest request,
ActionMapping mapping,
ModuleConfig moduleConfig,
ActionServlet servlet)
Create (if necessary) and return an ActionForm instance
appropriate for this request. |
static StringBuffer |
createServerStringBuffer(String scheme,
String server,
int port)
Return StringBuffer representing the scheme, server,
and port number of the current request. |
static StringBuffer |
createServerUriStringBuffer(String scheme,
String server,
int port,
String uri)
Return StringBuffer representing the scheme, server,
and port number of the current request. |
static String |
forwardURL(HttpServletRequest request,
ForwardConfig forward)
Return the context-relative URL that corresponds to the specified ForwardConfig . |
static String |
forwardURL(HttpServletRequest request,
ForwardConfig forward,
ModuleConfig moduleConfig)
Return the context-relative URL that corresponds to the specified ForwardConfig . |
static String |
getServletMapping(ActionServlet servlet)
Retrieves the servlet mapping pattern for the specified ActionServlet . |
static Locale |
getUserLocale(HttpServletRequest request,
String locale)
Look up and return current user locale, based on the specified parameters. |
static void |
populate(Object bean,
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(Object bean,
String prefix,
String suffix,
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 String |
printableURL(URL url)
Compute the printable representation of a URL, leaving off the scheme/host/port part if no host is specified. |
static StringBuffer |
requestToServerStringBuffer(HttpServletRequest request)
Return StringBuffer representing the scheme, server,
and port number of the current request. |
static StringBuffer |
requestToServerUriStringBuffer(HttpServletRequest request)
Return the string representing the scheme, server, and port number of the current request. |
static URL |
requestURL(HttpServletRequest request)
Return the URL representing the current request. |
static URL |
serverURL(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 |
---|
protected static Log log
Commons Logging instance.
Constructor Detail |
---|
public RequestUtils()
Method Detail |
---|
public static URL absoluteURL(HttpServletRequest request, String path) throws MalformedURLException
Create and return an absolute URL for the specified context-relative path, based on the server and context information in the specified request.
request
- The servlet request we are processingpath
- The context-relative path (must start with '/')
MalformedURLException
- if we cannot create an absolute URLpublic static Class applicationClass(String className) throws ClassNotFoundException
Return the Class
object for the specified fully
qualified class name, from this web application's class loader.
className
- Fully qualified class name to be loaded
ClassNotFoundException
- if the class cannot be foundpublic static Class applicationClass(String className, ClassLoader classLoader) throws ClassNotFoundException
Return the Class
object for the specified fully
qualified class name, from this web application's class loader.
className
- Fully qualified class name to be loadedclassLoader
- The desired classloader to use
ClassNotFoundException
- if the class cannot be foundpublic static Object applicationInstance(String className) throws ClassNotFoundException, IllegalAccessException, 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.
className
- Fully qualified class name to use
ClassNotFoundException
- if the class cannot be found
IllegalAccessException
- if the class or its constructor is not
accessible
InstantiationException
- if this class represents an abstract
class, an interface, an array class, a
primitive type, or void
InstantiationException
- if this class has no zero-arguments
constructorpublic static Object applicationInstance(String className, ClassLoader classLoader) throws ClassNotFoundException, IllegalAccessException, 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.
className
- Fully qualified class name to useclassLoader
- The desired classloader to use
ClassNotFoundException
- if the class cannot be found
IllegalAccessException
- if the class or its constructor is not
accessible
InstantiationException
- if this class represents an abstract
class, an interface, an array class, a
primitive type, or void
InstantiationException
- if this class has no zero-arguments
constructorpublic static ActionForm createActionForm(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
.
request
- The servlet request we are processingmapping
- The action mapping for this requestmoduleConfig
- The configuration for this moduleservlet
- The action servlet
public static ActionForm createActionForm(FormBeanConfig config, ActionServlet servlet)
Create and return an ActionForm
instance appropriate to
the information in config
.
Does not perform any checks to see if an existing ActionForm exists which could be reused.
config
- The configuration for the Form bean which is to be
created.servlet
- The action servlet
public static String getServletMapping(ActionServlet servlet)
Retrieves the servlet mapping pattern for the specified ActionServlet
.
Globals.SERVLET_KEY
public static Locale getUserLocale(HttpServletRequest request, String locale)
Look up and return current user locale, based on the specified parameters.
request
- The request used to lookup the Localelocale
- Name of the session attribute for our user's Locale. If
this is null
, the default locale key is
used for the lookup.
public static void populate(Object bean, HttpServletRequest request) throws 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()
.
bean
- The JavaBean whose properties are to be setrequest
- The HTTP request whose parameters are to be used to
populate bean properties
ServletException
- if an exception is thrown while setting
property valuespublic static void populate(Object bean, String prefix, String suffix, HttpServletRequest request) throws 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
bean
- The JavaBean whose properties are to be setprefix
- The prefix (if any) to be prepend to bean property names
when looking for matching parameterssuffix
- The suffix (if any) to be appended to bean property
names when looking for matching parametersrequest
- The HTTP request whose parameters are to be used to
populate bean properties
ServletException
- if an exception is thrown while setting
property valuespublic static String printableURL(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.
url
- URL to render in a printable representation
public static String actionURL(HttpServletRequest request, ActionConfig action, String pattern)
Return the context-relative URL that corresponds to the specified
ActionConfig
, relative to the module associated with the
current modules's ModuleConfig
.
request
- The servlet request we are processingaction
- ActionConfig to be evaluatedpattern
- URL pattern used to map the controller servlet
public static String forwardURL(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:
contextRelative
property is set, it is assumed
that the path
property contains a path that is already
context-relative:
path
property value starts with a slash, it is
returned unmodified.path
property value
does not start with a slash, a slash is prepended.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.forwardPattern
, performing the
following substitutions:
path
property of
the specified ForwardConfig
, prepended with a slash if it does
not start with one.
request
- The servlet request we are processingforward
- ForwardConfig to be evaluated
public static String forwardURL(HttpServletRequest request, ForwardConfig forward, ModuleConfig moduleConfig)
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:
contextRelative
property is set, it is assumed
that the path
property contains a path that is already
context-relative: path
property value starts with a slash, it is
returned unmodified.path
property value
does not start with a slash, a slash is prepended.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.forwardPattern
, performing the
following substitutions: path
property of
the specified ForwardConfig
, prepended with a slash if it does
not start with one.
request
- The servlet request we are processingforward
- ForwardConfig to be evaluatedmoduleConfig
- Base forward on this module config.
public static URL requestURL(HttpServletRequest request) throws MalformedURLException
Return the URL representing the current request. This is equivalent
to HttpServletRequest.getRequestURL
in Servlet 2.3.
request
- The servlet request we are processing
MalformedURLException
- if a URL cannot be createdpublic static URL serverURL(HttpServletRequest request) throws 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.
request
- The servlet request we are processing
MalformedURLException
- if a URL cannot be createdpublic static StringBuffer requestToServerUriStringBuffer(HttpServletRequest request)
Return the string 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.
request
- The servlet request we are processing
public static StringBuffer requestToServerStringBuffer(HttpServletRequest request)
Return StringBuffer
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.
request
- The servlet request we are processing
public static StringBuffer createServerStringBuffer(String scheme, String server, int port)
Return StringBuffer
representing the scheme, server,
and port number of the current request.
scheme
- The scheme name to useserver
- The server name to useport
- The port value to use
public static StringBuffer createServerUriStringBuffer(String scheme, String server, int port, String uri)
Return StringBuffer
representing the scheme, server,
and port number of the current request.
scheme
- The scheme name to useserver
- The server name to useport
- The port value to useuri
- The uri value to use
public static String actionIdURL(ForwardConfig forward, HttpServletRequest request, ActionServlet servlet)
Returns the true path of the destination action if the specified forward is an action-aliased URL. This method version forms the URL based on the current request; selecting the current module if the forward does not explicitly contain a module path.
forward
- the forward configrequest
- the current requestservlet
- the servlet handling the current request
null
.public static String actionIdURL(String originalPath, ModuleConfig moduleConfig, ActionServlet servlet)
Returns the true path of the destination action if the specified forward is an action-aliased URL. This method version forms the URL based on the specified module.
originalPath
- the action-aliased pathmoduleConfig
- the module config for this requestservlet
- the servlet handling the current request
null
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |