org.apache.struts.action
public class Action extends Object
An Action is an adapter between the contents of an incoming
HTTP request and the corresponding business logic that should be executed to
process this request. The controller (RequestProcessor) will select an
appropriate Action for each request, create an instance (if necessary),
and call the execute
method.
Actions 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 an Action
instance is first created, the controller
will call setServlet
with a non-null argument to
identify the servlet instance to which this Action is attached.
When the 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.
Version: $Rev: 164530 $ $Date: 2005-04-25 04:11:07 +0100 (Mon, 25 Apr 2005) $
Field Summary | |
---|---|
protected static Locale | defaultLocale The system default Locale. |
protected ActionServlet | servlet The servlet to which we are attached. |
static TokenProcessor | token An instance of |
Method Summary | |
---|---|
protected void | addErrors(HttpServletRequest request, ActionMessages errors)
Adds the specified errors keys into the appropriate request attribute
for use by the <html:errors> tag, if any messages are required.
|
protected void | addMessages(HttpServletRequest request, ActionMessages messages)
Adds the specified messages keys into the appropriate request
attribute for use by the <html:messages> tag (if
messages="true" is set), if any messages are required.
|
ActionForward | execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) Process the specified non-HTTP request, and create the corresponding non-HTTP response (or forward to another web component that will create it), with provision for handling exceptions thrown by the business logic. |
ActionForward | execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) Process the specified HTTP request, and create the corresponding HTTP response (or forward to another web component that will create it), with provision for handling exceptions thrown by the business logic. |
protected String | generateToken(HttpServletRequest request) Generate a new transaction token, to be used for enforcing a single request for a particular transaction. |
protected DataSource | getDataSource(HttpServletRequest request) Return the default data source for the current module. |
protected DataSource | getDataSource(HttpServletRequest request, String key) Return the specified data source for the current module. |
protected ActionMessages | getErrors(HttpServletRequest request)
Retrieves any existing errors placed in the request by previous actions. |
protected Locale | getLocale(HttpServletRequest request) Return the user's currently selected Locale. |
protected ActionMessages | getMessages(HttpServletRequest request)
Retrieves any existing messages placed in the request by previous actions. |
protected MessageResources | getResources(HttpServletRequest request) Return the default message resources for the current module. |
protected MessageResources | getResources(HttpServletRequest request, String key) Return the specified message resources for the current module. |
ActionServlet | getServlet() Return the servlet instance to which we are attached. |
protected boolean | isCancelled(HttpServletRequest request) Returns |
protected boolean | isTokenValid(HttpServletRequest request) Return |
protected boolean | isTokenValid(HttpServletRequest request, boolean reset) Return |
protected void | resetToken(HttpServletRequest request) Reset the saved transaction token in the user's session. |
protected void | saveErrors(HttpServletRequest request, ActionErrors errors) Save the specified error messages keys into the appropriate request attribute for use by the <html:errors> tag, if any messages are required. |
protected void | saveErrors(HttpServletRequest request, ActionMessages errors) Save the specified error messages keys into the appropriate request attribute for use by the <html:errors> tag, if any messages are required. |
protected void | saveErrors(HttpSession session, ActionMessages errors) Save the specified error messages keys into the appropriate session attribute for use by the <html:messages> tag (if messages="false") or <html:errors>, if any error messages are required. |
protected void | saveMessages(HttpServletRequest request, ActionMessages messages) Save the specified messages keys into the appropriate request attribute for use by the <html:messages> tag (if messages="true" is set), if any messages are required. |
protected void | saveMessages(HttpSession session, ActionMessages messages) Save the specified messages keys into the appropriate session attribute for use by the <html:messages> tag (if messages="true" is set), if any messages are required. |
protected void | saveToken(HttpServletRequest request) Save a new transaction token in the user's current session, creating a new session if necessary. |
protected void | setLocale(HttpServletRequest request, Locale locale) Set the user's currently selected |
void | setServlet(ActionServlet servlet) Set the servlet instance to which we are attached (if
|
Deprecated: Use Locale.getDefault directly. This will be removed after Struts 1.2.
The system default Locale.
The servlet to which we are attached.
An instance of TokenProcessor
to use for token functionality.
Parameters: request The servlet request we are processing errors Errors object
Since: Struts 1.2.1
Parameters: request The servlet request we are processing messages Messages object
Since: Struts 1.2.1
Process the specified non-HTTP request, and create the
corresponding non-HTTP response (or forward to another web
component that will create it), with provision for handling
exceptions thrown by the business logic.
Return an {@link ActionForward} instance describing where and how
control should be forwarded, or null
if the response has
already been completed.
The default implementation attempts to forward to the HTTP version of this method.
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
Throws: Exception if the application business logic throws an exception.
Since: Struts 1.1
Process the specified HTTP request, and create the corresponding HTTP
response (or forward to another web component that will create it),
with provision for handling exceptions thrown by the business logic.
Return an {@link ActionForward} instance describing where and how
control should be forwarded, or null
if the response
has already been completed.
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 we are creating
Throws: Exception if the application business logic throws an exception
Since: Struts 1.1
Generate a new transaction token, to be used for enforcing a single request for a particular transaction.
Parameters: request The request we are processing
Return the default data source for the current module.
Parameters: request The servlet request we are processing
Since: Struts 1.1
Return the specified data source for the current module.
Parameters: request The servlet request we are processing key The key specified in the <data-sources>
element.
Since: Struts 1.1
new ActionMessages() at the beginning of an Action
This will prevent saveErrors() from wiping out any existing Errors
Parameters: request The servlet request we are processing
Returns: the Errors that already exist in the request, or a new ActionMessages object if empty.
Since: Struts 1.2.1
Return the user's currently selected Locale.
Parameters: request The request we are processing
new ActionMessages() at the beginning of an Action
This will prevent saveMessages() from wiping out any existing Messages
Parameters: request The servlet request we are processing
Returns: the Messages that already exist in the request, or a new ActionMessages object if empty.
Since: Struts 1.2.1
Return the default message resources for the current module.
Parameters: request The servlet request we are processing
Since: Struts 1.1
Return the specified message resources for the current module.
Parameters: request The servlet request we are processing key The key specified in the
<message-resources>
element for the
requested bundle
Since: Struts 1.1
Return the servlet instance to which we are attached.
Returns true
if the current form's cancel button was
pressed. This method will check if the Globals.CANCEL_KEY
request attribute has been set, which normally occurs if the cancel
button generated by CancelTag was pressed by the user
in the current request. If true
, validation performed
by an ActionForm's validate()
method
will have been skipped by the controller servlet.
Parameters: request The servlet request we are processing
See Also: CancelTag
Return true
if there is a transaction token stored in
the user's current session, and the value submitted as a request
parameter with this action matches it. Returns false
under any of the following circumstances:
Parameters: request The servlet request we are processing
Return true
if there is a transaction token stored in
the user's current session, and the value submitted as a request
parameter with this action matches it. Returns false
under
any of the following circumstances:
Parameters: request The servlet request we are processing reset Should we reset the token after checking it?
Reset the saved transaction token in the user's session. This indicates that transactional token checking will not be needed on the next request that is submitted.
Parameters: request The servlet request we are processing
Deprecated: Use saveErrors(HttpServletRequest, ActionMessages) instead. This will be removed after Struts 1.2.
Save the specified error messages keys into the appropriate request attribute for use by the <html:errors> tag, if any messages are required. Otherwise, ensure that the request attribute is not created.
Parameters: request The servlet request we are processing errors Error messages object
Save the specified error messages keys into the appropriate request attribute for use by the <html:errors> tag, if any messages are required. Otherwise, ensure that the request attribute is not created.
Parameters: request The servlet request we are processing errors Error messages object
Since: Struts 1.2
Save the specified error messages keys into the appropriate session attribute for use by the <html:messages> tag (if messages="false") or <html:errors>, if any error messages are required. Otherwise, ensure that the session attribute is empty.
Parameters: session The session to save the error messages in. errors The error messages to save. null
or empty
messages removes any existing error ActionMessages in the session.
Since: Struts 1.2.7
Save the specified messages keys into the appropriate request attribute for use by the <html:messages> tag (if messages="true" is set), if any messages are required. Otherwise, ensure that the request attribute is not created.
Parameters: request The servlet request we are processing. messages The messages to save. null
or empty
messages removes any existing ActionMessages in the request.
Since: Struts 1.1
Save the specified messages keys into the appropriate session attribute for use by the <html:messages> tag (if messages="true" is set), if any messages are required. Otherwise, ensure that the session attribute is not created.
Parameters: session The session to save the messages in. messages The messages to save. null
or empty
messages removes any existing ActionMessages in the session.
Since: Struts 1.2
Save a new transaction token in the user's current session, creating a new session if necessary.
Parameters: request The servlet request we are processing
Set the user's currently selected Locale
into their
HttpSession
.
Parameters: request The request we are processing locale The user's selected Locale to be set, or null to select the server's default Locale
Set the servlet instance to which we are attached (if
servlet
is non-null), or release any allocated resources
(if servlet
is null).
Parameters: servlet The new controller servlet, if any