The Spring Framework

## org.springframework.web.struts
Class AutowiringTilesRequestProcessor

    java.lang.Object
      org.apache.struts.action.RequestProcessor
          org.apache.struts.tiles.TilesRequestProcessor
              org.springframework.web.struts.AutowiringTilesRequestProcessor

    public class AutowiringTilesRequestProcessor

extends TilesRequestProcessor

Subclass of Struts's TilesRequestProcessor that autowires Struts Actions with Spring beans defined in ContextLoaderPlugIn's WebApplicationContext or - in case of general service layer beans - in the root WebApplicationContext.

Behaves like `AutowiringRequestProcessor`, but also provides the Tiles functionality of the original TilesRequestProcessor. As there's just a single central class to customize in Struts, we have to provide another subclass here, covering both the Tiles and the Spring delegation aspect.

The default implementation delegates to the DelegatingActionUtils class as fas as possible, to reuse as much code as possible despite the need to provide two RequestProcessor subclasses. If you need to subclass yet another RequestProcessor, take this class as a template, delegating to DelegatingActionUtils just like it.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `AutowiringRequestProcessor`, `ContextLoaderPlugIn`, `DelegatingActionUtils`

Field Summary

Fields inherited from class org.apache.struts.tiles.TilesRequestProcessor
`definitionsFactory, log`

Fields inherited from class org.apache.struts.action.RequestProcessor
`actions, INCLUDE_PATH_INFO, INCLUDE_SERVLET_PATH, moduleConfig, servlet`

Constructor Summary
`AutowiringTilesRequestProcessor()`

Method Summary
`protected int` `getAutowireMode()` Return the autowire mode to use for wiring Struts Actions.
`protected boolean` `getDependencyCheck()` Return whether to apply a dependency check after wiring Struts Actions.
`protected WebApplicationContext` `getWebApplicationContext()` Return the current Spring WebApplicationContext.
`void` `init(ActionServlet actionServlet, ModuleConfig moduleConfig)`
`protected int` `initAutowireMode(ActionServlet actionServlet, ModuleConfig moduleConfig)` Determine the autowire mode to use for wiring Struts Actions.
`protected boolean` `initDependencyCheck(ActionServlet actionServlet, ModuleConfig moduleConfig)` Determine whether to apply a dependency check after wiring Struts Actions.
`protected WebApplicationContext` `initWebApplicationContext(ActionServlet actionServlet, ModuleConfig moduleConfig)` Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext, falling back to the root WebApplicationContext.
`protected Action` `processActionCreate(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping)` Extend the base class method to autowire each created Action instance.

Methods inherited from class org.apache.struts.tiles.TilesRequestProcessor
`doForward, getDefinitionsFactory, initDefinitionsMapping, internalModuleRelativeForward, internalModuleRelativeInclude, processForwardConfig, processTilesDefinition`

Methods inherited from class org.apache.struts.action.RequestProcessor
`destroy, doInclude, getInternal, getServletContext, log, log, process, processActionForm, processActionPerform, processCachedMessages, processContent, processException, processForward, processInclude, processLocale, processMapping, processMultipart, processNoCache, processPath, processPopulate, processPreprocess, processRoles, processValidate`

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

Constructor Detail

### AutowiringTilesRequestProcessor

    public AutowiringTilesRequestProcessor()

Method Detail

### init

    public void init(ActionServlet actionServlet,
                     ModuleConfig moduleConfig)
              throws ServletException

  Overrides:
    `init` in class `TilesRequestProcessor`
  Throws:
    `ServletException`

### initWebApplicationContext

    protected WebApplicationContext initWebApplicationContext(ActionServlet actionServlet,
                                                              ModuleConfig moduleConfig)
                                                       throws IllegalStateException

  Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext, falling back to the root WebApplicationContext. This context is supposed to contain the service layer beans to wire the Struts Actions with.

  Parameters:
    `actionServlet` - the associated ActionServlet
    `moduleConfig` - the associated ModuleConfig
  Returns:
    the WebApplicationContext
  Throws:
    `IllegalStateException` - if no WebApplicationContext could be found
  See Also:
    `DelegatingActionUtils.findRequiredWebApplicationContext(org.apache.struts.action.ActionServlet, org.apache.struts.config.ModuleConfig)`, `ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX`

### initAutowireMode

    protected int initAutowireMode(ActionServlet actionServlet,
                                   ModuleConfig moduleConfig)

  Determine the autowire mode to use for wiring Struts Actions.

  The default implementation checks the "autowire" init-param of the Struts ActionServlet, falling back to "AUTOWIRE_BY_TYPE" as default.

  Parameters:
    `actionServlet` - the associated ActionServlet
    `moduleConfig` - the associated ModuleConfig
  Returns:
    the autowire mode to use
  See Also:
    `DelegatingActionUtils.getAutowireMode(org.apache.struts.action.ActionServlet)`, `AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean)`, `AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE`, `AutowireCapableBeanFactory.AUTOWIRE_BY_NAME`

### initDependencyCheck

    protected boolean initDependencyCheck(ActionServlet actionServlet,
                                          ModuleConfig moduleConfig)

  Determine whether to apply a dependency check after wiring Struts Actions.

  The default implementation checks the "dependencyCheck" init-param of the Struts ActionServlet, falling back to no dependency check as default.

  Parameters:
    `actionServlet` - the associated ActionServlet
    `moduleConfig` - the associated ModuleConfig
  Returns:
    whether to enforce a dependency check or not
  See Also:
    `DelegatingActionUtils.getDependencyCheck(org.apache.struts.action.ActionServlet)`, `AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean)`

### getWebApplicationContext

    protected final WebApplicationContext getWebApplicationContext()

  Return the current Spring WebApplicationContext.

### getAutowireMode

    protected final int getAutowireMode()

  Return the autowire mode to use for wiring Struts Actions.

### getDependencyCheck

    protected final boolean getDependencyCheck()

  Return whether to apply a dependency check after wiring Struts Actions.

### processActionCreate

    protected Action processActionCreate(HttpServletRequest request,
                                         HttpServletResponse response,
                                         ActionMapping mapping)
                                  throws IOException

  Extend the base class method to autowire each created Action instance.

  Overrides:
    `processActionCreate` in class `RequestProcessor`
  Throws:
    `IOException`
  See Also:
    `AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean)`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.