Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.portal.struts.action
Class StrutsAction

    java.lang.Object
      Action
          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:

- Instance and static variables MUST NOT be used to store information related to the state of a particular request. They MAY be used to share global resources across requests for the same action.
- Access to other resources (JavaBeans, session variables, etc.) MUST be synchronized if those resources require protection. (Generally, however, resource classes should be designed to provide their own protection where necessary.

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

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD