org.springframework.web.struts
Class DispatchActionSupport

java.lang.Object
  extended by org.apache.struts.action.Action
      extended by org.apache.struts.actions.DispatchAction
          extended by org.springframework.web.struts.DispatchActionSupport

public abstract class DispatchActionSupport
extends DispatchAction

Convenience class for Spring-aware Struts 1.1/1.2 DispatchActions.

Provides a reference to the current Spring application context, e.g. for bean lookup or resource loading. Auto-detects a ContextLoaderPlugIn context, falling back to the root WebApplicationContext. For typical usage, i.e. accessing middle tier beans, use a root WebApplicationContext.

For classic Struts Actions or Lookup/MappingDispatchActions, use the analogous ActionSupport or LookupDispatchActionSupport / MappingDispatchActionSupport class, respectively.

As an alternative approach, you can wire your Struts Actions themselves as Spring beans, passing references to them via IoC rather than looking up references in a programmatic fashion. Check out DelegatingActionProxy and DelegatingRequestProcessor.

Since:
1.0.1
Author:
Juergen Hoeller
See Also:
ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX, WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ContextLoaderListener, ContextLoaderServlet, ActionSupport, LookupDispatchActionSupport, MappingDispatchActionSupport, DelegatingActionProxy, DelegatingRequestProcessor

Field Summary
 
Fields inherited from class org.apache.struts.actions.DispatchAction
clazz, log, messages, methods, types
 
Fields inherited from class org.apache.struts.action.Action
defaultLocale, servlet
 
Constructor Summary
DispatchActionSupport()
           
 
Method Summary
protected  MessageSourceAccessor getMessageSourceAccessor()
          Return a MessageSourceAccessor for the application context used by this object, for easy message access.
protected  ServletContext getServletContext()
          Return the current ServletContext.
protected  File getTempDir()
          Return the temporary directory for the current web application, as provided by the servlet container.
protected  WebApplicationContext getWebApplicationContext()
          Return the current Spring WebApplicationContext.
protected  WebApplicationContext initWebApplicationContext(ActionServlet actionServlet)
          Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext, falling back to the root WebApplicationContext (the usual case).
protected  void onDestroy()
          Callback for custom destruction when the ActionServlet shuts down.
protected  void onInit()
          Callback for custom initialization after the context has been set up.
 void setServlet(ActionServlet actionServlet)
          Initialize the WebApplicationContext for this Action.
 
Methods inherited from class org.apache.struts.actions.DispatchAction
cancelled, dispatchMethod, execute, getMethod, getMethodName, unspecified
 
Methods inherited from class org.apache.struts.action.Action
addErrors, addMessages, execute, generateToken, getDataSource, getDataSource, getErrors, getLocale, getMessages, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, resetToken, saveErrors, saveErrors, saveMessages, saveMessages, saveToken, setLocale
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DispatchActionSupport

public DispatchActionSupport()
Method Detail

setServlet

public void setServlet(ActionServlet actionServlet)
Initialize the WebApplicationContext for this Action. Invokes onInit after successful initialization of the context.

Overrides:
setServlet in class Action
See Also:
initWebApplicationContext(org.apache.struts.action.ActionServlet), onInit()

initWebApplicationContext

protected WebApplicationContext initWebApplicationContext(ActionServlet actionServlet)
                                                   throws IllegalStateException
Fetch ContextLoaderPlugIn's WebApplicationContext from the ServletContext, falling back to the root WebApplicationContext (the usual case).

Parameters:
actionServlet - the associated ActionServlet
Returns:
the WebApplicationContext
Throws:
IllegalStateException - if no WebApplicationContext could be found
See Also:
ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX, WebApplicationContextUtils.getWebApplicationContext(javax.servlet.ServletContext)

getWebApplicationContext

protected final WebApplicationContext getWebApplicationContext()
Return the current Spring WebApplicationContext.


getMessageSourceAccessor

protected final MessageSourceAccessor getMessageSourceAccessor()
Return a MessageSourceAccessor for the application context used by this object, for easy message access.


getServletContext

protected final ServletContext getServletContext()
Return the current ServletContext.


getTempDir

protected final File getTempDir()
Return the temporary directory for the current web application, as provided by the servlet container.

Returns:
the File representing the temporary directory

onInit

protected void onInit()
Callback for custom initialization after the context has been set up.

See Also:
setServlet(org.apache.struts.action.ActionServlet)

onDestroy

protected void onDestroy()
Callback for custom destruction when the ActionServlet shuts down.

See Also:
setServlet(org.apache.struts.action.ActionServlet)


Copyright (c) 2002-2005 The Spring Framework Project.