com.ibm.portal.struts.action
Class StrutsAction

java.lang.Object
  extended by Action
      extended by com.ibm.portal.struts.action.StrutsAction
Direct Known Subclasses:
DispatchAction

public class StrutsAction
extends Action

A StrutsAction is an adapter between the contents of an incoming Portlet request and the corresponding business logic that should be executed to process this request. The controller (StrutsPortlet) will select an appropriate StrutsAction for each request, create an instance (if necessary), and call the execute method.

StrutsActions must be programmed in a thread-safe manner, because the controller will share the same instance for multiple simultaneous requests. This means you should design with the following items in mind:

When a StrutsAction instance is first created, the controller servlet will call setServlet() with a non-null argument to identify the controller servlet instance to which this Action is attached. When the controller servlet is to be shut down (or restarted), the setServlet() method will be called with a null argument, which can be used to clean up any allocated resources in use by this Action.

The Struts Action is a Portal friendly Action that is directly passed the portlet objects. This is the preferred interface for Struts applications that do not need to support the servlet environment.

Since:
5.1

Constructor Summary
StrutsAction()
          Constructor for this class
 
Method Summary
 ActionForward execute(ActionMapping mapping, ActionForm form, ActionRequest request, ActionResponse response)
          Process the current request based on the ActionMapping information.
 ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
          Deprecated. use execute methods that take portlet objects
 ActionForward execute(ActionMapping mapping, ActionForm form, PortletRequest request, PortletResponse response)
          Process the current request based on the ActionMapping information.
 ActionForward execute(ActionMapping mapping, ActionForm form, RenderRequest request, RenderResponse response)
          Process the current request based on the ActionMapping information.
 ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)
          Deprecated. use execute methods that take portlet objects
 void sendError(ActionRequest actionRequest, int sc)
          Sends an error response to the client using the specified status.
 void sendError(ActionRequest actionRequest, int sc, java.lang.String msg)
          Sends an error response to the client using the specified status code and descriptive message.
 void sendError(PortletRequest portletRequest, int sc)
          Sends an error response to the client using the specified status.
 void sendError(PortletRequest portletRequest, int sc, java.lang.String msg)
          Sends an error response to the client using the specified status code and descriptive message.
 void sendError(RenderRequest renderRequest, int sc)
          Sends an error response to the client using the specified status.
 void sendError(RenderRequest renderRequest, int sc, java.lang.String msg)
          Sends an error response to the client using the specified status code and descriptive message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StrutsAction

public StrutsAction()
Constructor for this class

Method Detail

execute

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             PortletRequest request,
                             PortletResponse response)
                      throws java.lang.Exception
Process the current request based on the ActionMapping information. The processing should return an ActionForward, to control the processing. This implementation may not allow the response object to be written to directly, so an ActionForward should be returned. The response object may be an ActionResponse. A null return value will stop the request processing, but will not result in the creation of a new IViewCommand. Note that this signature will not be called if the execute method that takes either the Action or Render objects is also implemented.

Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The PortletRequest we are processing
response - The PortletResponse we are processing
Returns:
returns the ActionForward object, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

execute

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             ActionRequest request,
                             ActionResponse response)
                      throws java.lang.Exception
Process the current request based on the ActionMapping information. The processing should return an ActionForward, to control the processing. This implementation does not allow the response object to be written to directly, so an ActionForward should be returned. A null return value will stop the request processing, but will not result in the creation of a new IViewCommand

Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The action request we are processing
response - The action response
Returns:
returns the ActionForward object, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

execute

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             RenderRequest request,
                             RenderResponse response)
                      throws java.lang.Exception
Process the current request based on the ActionMapping information. The processing should return an ActionForward, to control the processing. A null return value will stop the request processing, but will not result in the creation of a new IViewCommand

Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The render request we are processing
response - The render response
Returns:
returns the ActionForward object, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

execute

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             ServletRequest request,
                             ServletResponse response)
                      throws java.lang.Exception
Deprecated. use execute methods that take portlet objects

Process the current request based on the ActionMapping information. The processing should return an ActionForward, to control the processing. This implementation does not allow the response object to be written to directly, so an ActionForward should be returned. A null return value will stop the request processing, but will not result in the creation of a new IViewCommand

Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The non-HTTP request we are processing
response - The non-HTTP response we are creating
Returns:
returns the ActionForward object, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

execute

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             HttpServletRequest request,
                             HttpServletResponse response)
                      throws java.lang.Exception
Deprecated. use execute methods that take portlet objects

Process the current request based on the ActionMapping information. The processing should return an ActionForward, to control the processing. This implementation does not allow the response object to be written to directly, so an ActionForward should be returned. A null return value will stop the request processing, but will not result in the creation of a new IViewCommand

Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The HTTP request we are processing
response - The HTTP response
Returns:
returns the ActionForward object, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

sendError

public void sendError(PortletRequest portletRequest,
                      int sc,
                      java.lang.String msg)
               throws java.io.IOException
Sends an error response to the client using the specified status code and descriptive message. The server generally creates the response to look like a normal server error page.

Parameters:
portletRequest - the PortletRequest this error report is associated with
sc - the error status code
msg - the descriptive message
Throws:
java.io.IOException - if the error information can not be saved

sendError

public void sendError(ActionRequest actionRequest,
                      int sc,
                      java.lang.String msg)
               throws java.io.IOException
Sends an error response to the client using the specified status code and descriptive message. The server generally creates the response to look like a normal server error page.

Parameters:
actionRequest - the PortletRequest this error report is associated with
sc - the error status code
msg - the descriptive message
Throws:
java.io.IOException - if the error information can not be saved

sendError

public void sendError(RenderRequest renderRequest,
                      int sc,
                      java.lang.String msg)
               throws java.io.IOException
Sends an error response to the client using the specified status code and descriptive message. The server generally creates the response to look like a normal server error page.

Parameters:
renderRequest - the PortletRequest this error report is associated with
sc - the error status code
msg - the descriptive message
Throws:
java.io.IOException - if the error information can not be saved

sendError

public void sendError(PortletRequest portletRequest,
                      int sc)
               throws java.io.IOException
Sends an error response to the client using the specified status. The server generally creates the response to look like a normal server error page.

Parameters:
portletRequest - the PortletRequest this error report is associated with
sc - the error status code
Throws:
java.io.IOException - if the error information can not be saved

sendError

public void sendError(ActionRequest actionRequest,
                      int sc)
               throws java.io.IOException
Sends an error response to the client using the specified status. The server generally creates the response to look like a normal server error page.

Parameters:
actionRequest - the PortletRequest this error report is associated with
sc - the error status code
Throws:
java.io.IOException - if the error information can not be saved

sendError

public void sendError(RenderRequest renderRequest,
                      int sc)
               throws java.io.IOException
Sends an error response to the client using the specified status. The server generally creates the response to look like a normal server error page.

Parameters:
renderRequest - the PortletRequest this error report is associated with
sc - the error status code
Throws:
java.io.IOException - if the error information can not be saved