Base Action should implement dispatch functionality (building a coarse-grained
action)
--------------------------------------------------------------------------------------
Key: STR-2940
URL: http://issues.apache.org/struts/browse/STR-2940
Project: Struts 1
Issue Type: Improvement
Reporter: Michael Jouravlev
Assigned To: Michael Jouravlev
Priority: Minor
Since DispatchAction was introduced, it became possible to write actions in two
styles:
* Fine-grained actions that process only one kind of request / command / event.
These are standard Action classes where code is written in execute() method.
* Coarse-grained actions that process several commands/events. These are
DispatchAction, MappingDispatchAction, LookupDispatchAction and
EventDispatchAction.
Building coarse-grained actions always has been kind of hack with either using
the generic "parameter" attribute of an action mapping, or with building
event-to-method maps in the code.
The proposed enhancement has the following goals:
* Add dispatch functionality to base Action without affecting current Action
usage.
* Accept that both fine-grained and coarse-grained approaches are valid and
should be equally represented; one approach should not suffer from dominating
of another.
* Extend syntax of an action mapping to allow event defintion using designated
elements instead of using hacks like generic "parameter" attribute.
* Allow using wildcards in event definitions.
* With a coarse-grained action it is easier to introduce a concept of a web
resource that can be affected by several events, can have state and can render
several views. This concept allows to draw some similarities between a Model 2
framework like Struts and code-behind framework like .NET: Action + ActionForm
is a code-behind, JSP is markup, event-handling methods in an Action class are
event handlers.
Introduction of Command class in Struts 1.3.x does not affect coarse-grained
actions, these actions should be implemented with an Action class.
Action class retrofitted to support dispatch functionality will behave exactly
like EventDispatchAction when used as a coarce-grained action.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira