org.springframework.web.struts
Class DispatchActionSupport

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

public abstract class DispatchActionSupport
extends org.apache.struts.actions.DispatchAction

Convenience class for Spring-aware Struts 1.1 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 LookupDispatchActions, use the analogous ActionSupport respectively LookupDispatchActionSupport class.

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:
06.04.2004
Author:
Juergen Hoeller
See Also:
ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX, WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ContextLoaderListener, ContextLoaderServlet, ActionSupport, LookupDispatchActionSupport, 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
ACTION_SERVLET_KEY, APPLICATION_KEY, DATA_SOURCE_KEY, defaultLocale, ERROR_KEY, EXCEPTION_KEY, FORM_BEANS_KEY, FORWARDS_KEY, LOCALE_KEY, MAPPING_KEY, MAPPINGS_KEY, MESSAGE_KEY, MESSAGES_KEY, MULTIPART_KEY, PLUG_INS_KEY, REQUEST_PROCESSOR_KEY, servlet, SERVLET_KEY, TRANSACTION_TOKEN_KEY
 
Constructor Summary
DispatchActionSupport()
           
 
Method Summary
protected  MessageSourceAccessor getMessageSourceAccessor()
          Return a MessageSourceAccessor for the application context used by this object, for easy message access.
protected  javax.servlet.ServletContext getServletContext()
          Return the current ServletContext.
protected  java.io.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(org.apache.struts.action.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(org.apache.struts.action.ActionServlet actionServlet)
          Initialize the WebApplicationContext for this Action.
 
Methods inherited from class org.apache.struts.actions.DispatchAction
dispatchMethod, execute, getMethod, unspecified
 
Methods inherited from class org.apache.struts.action.Action
execute, generateToken, getDataSource, getDataSource, getLocale, getResources, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, perform, perform, resetToken, saveErrors, saveMessages, saveToken, setLocale, toHex
 
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(org.apache.struts.action.ActionServlet actionServlet)
Initialize the WebApplicationContext for this Action. Invokes onInit after successful initialization of the context.

See Also:
initWebApplicationContext(org.apache.struts.action.ActionServlet), onInit()

initWebApplicationContext

protected WebApplicationContext initWebApplicationContext(org.apache.struts.action.ActionServlet actionServlet)
                                                   throws java.lang.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:
java.lang.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 javax.servlet.ServletContext getServletContext()
Return the current ServletContext.


getTempDir

protected final java.io.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) 2003-2004 The Spring Framework Project.