org.springframework.web.struts
Class DelegatingActionUtils

java.lang.Object
  extended by org.springframework.web.struts.DelegatingActionUtils

public abstract class DelegatingActionUtils
extends Object

Common methods for letting Struts Actions work with a Spring WebApplicationContext.

As everything in Struts is based on concrete inheritance, we have to provide an Action subclass (DelegatingActionProxy) and two RequestProcessor subclasses (DelegatingRequestProcessor and DelegatingTilesRequestProcessor). The only way to share common functionality is a utility class like this one.

Since:
1.0.2
Author:
Juergen Hoeller
See Also:
DelegatingActionProxy, DelegatingRequestProcessor, DelegatingTilesRequestProcessor

Field Summary
static String AUTOWIRE_BY_NAME
          Value of the autowire init-param that indicates autowiring by name: "byName"
static String AUTOWIRE_BY_TYPE
          Value of the autowire init-param that indicates autowiring by type: "byType"
static String PARAM_AUTOWIRE
          The name of the autowire init-param specified on the Struts ActionServlet: "spring.autowire"
static String PARAM_DEPENDENCY_CHECK
          The name of the dependency check init-param specified on the Struts ActionServlet: "spring.dependencyCheck"
 
Constructor Summary
DelegatingActionUtils()
           
 
Method Summary
static String determineActionBeanName(ActionMapping mapping)
          Default implementation of Action bean determination, taking the mapping path and prepending the module prefix, if any.
static WebApplicationContext findRequiredWebApplicationContext(ActionServlet actionServlet, ModuleConfig moduleConfig)
          Find most specific context available: check ContextLoaderPlugIn's WebApplicationContext first, fall back to root WebApplicationContext else.
static int getAutowireMode(ActionServlet actionServlet)
          Determine the autowire mode from the "autowire" init-param of the Struts ActionServlet, falling back to "AUTOWIRE_BY_TYPE" as default.
static boolean getDependencyCheck(ActionServlet actionServlet)
          Determine the dependency check to use from the "dependencyCheck" init-param of the Struts ActionServlet, falling back to no dependency check as default.
static WebApplicationContext getRequiredWebApplicationContext(ActionServlet actionServlet, ModuleConfig moduleConfig)
          Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext.
static WebApplicationContext getWebApplicationContext(ActionServlet actionServlet, ModuleConfig moduleConfig)
          Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_AUTOWIRE

public static final String PARAM_AUTOWIRE
The name of the autowire init-param specified on the Struts ActionServlet: "spring.autowire"

See Also:
Constant Field Values

PARAM_DEPENDENCY_CHECK

public static final String PARAM_DEPENDENCY_CHECK
The name of the dependency check init-param specified on the Struts ActionServlet: "spring.dependencyCheck"

See Also:
Constant Field Values

AUTOWIRE_BY_NAME

public static final String AUTOWIRE_BY_NAME
Value of the autowire init-param that indicates autowiring by name: "byName"

See Also:
Constant Field Values

AUTOWIRE_BY_TYPE

public static final String AUTOWIRE_BY_TYPE
Value of the autowire init-param that indicates autowiring by type: "byType"

See Also:
Constant Field Values
Constructor Detail

DelegatingActionUtils

public DelegatingActionUtils()
Method Detail

getWebApplicationContext

public static WebApplicationContext getWebApplicationContext(ActionServlet actionServlet,
                                                             ModuleConfig moduleConfig)
Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext.

Checks for a module-specific context first, falling back to the context for the default module else.

Parameters:
actionServlet - the associated ActionServlet
moduleConfig - the associated ModuleConfig (can be null)
Returns:
the WebApplicationContext, or null if none
See Also:
ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX

getRequiredWebApplicationContext

public static WebApplicationContext getRequiredWebApplicationContext(ActionServlet actionServlet,
                                                                     ModuleConfig moduleConfig)
                                                              throws IllegalStateException
Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext.

Checks for a module-specific context first, falling back to the context for the default module else.

Parameters:
actionServlet - the associated ActionServlet
moduleConfig - the associated ModuleConfig (can be null)
Returns:
the WebApplicationContext
Throws:
IllegalStateException - if no WebApplicationContext could be found
See Also:
ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX

findRequiredWebApplicationContext

public static WebApplicationContext findRequiredWebApplicationContext(ActionServlet actionServlet,
                                                                      ModuleConfig moduleConfig)
                                                               throws IllegalStateException
Find most specific context available: check ContextLoaderPlugIn's WebApplicationContext first, fall back to root WebApplicationContext else.

When checking the ContextLoaderPlugIn context: checks for a module-specific context first, falling back to the context for the default module else.

Parameters:
actionServlet - the associated ActionServlet
moduleConfig - the associated ModuleConfig (can be null)
Returns:
the WebApplicationContext
Throws:
IllegalStateException - if no WebApplicationContext could be found
See Also:
getWebApplicationContext(org.apache.struts.action.ActionServlet, org.apache.struts.config.ModuleConfig), WebApplicationContextUtils.getRequiredWebApplicationContext(javax.servlet.ServletContext)

determineActionBeanName

public static String determineActionBeanName(ActionMapping mapping)
Default implementation of Action bean determination, taking the mapping path and prepending the module prefix, if any.

Parameters:
mapping - the Struts ActionMapping
Returns:
the name of the Action bean
See Also:
ActionConfig.getPath(), ModuleConfig.getPrefix()

getAutowireMode

public static int getAutowireMode(ActionServlet actionServlet)
Determine the autowire mode from the "autowire" init-param of the Struts ActionServlet, falling back to "AUTOWIRE_BY_TYPE" as default.

Parameters:
actionServlet - the Struts ActionServlet
Returns:
the autowire mode to use
See Also:
PARAM_AUTOWIRE, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean), AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME

getDependencyCheck

public static boolean getDependencyCheck(ActionServlet actionServlet)
Determine the dependency check to use from the "dependencyCheck" init-param of the Struts ActionServlet, falling back to no dependency check as default.

Parameters:
actionServlet - the Struts ActionServlet
Returns:
whether to enforce a dependency check or not
See Also:
PARAM_DEPENDENCY_CHECK, AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean)


Copyright © 2002-2008 The Spring Framework.