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

        

Reply via email to