A while back when Rickard asked what else, besides GenericDispatcher, was
needed to make WebWork a more generic command framework, I responded with
the following list:

 -Ditch JavaBeans, replace with OGNL
 -Provide more dispatchers based on GenericDispatcher (SOAP, Servlet, Swing,
etc)
-make configuration more powerful (but still simple as always)
-provide libraries/tags for all supported views
-documentation overhaul, inlcuding a best practices guide
-lots of examples that aren't web-based (SOAP and Swing, especially)
-an implementation for the Wafer project (http://www.waferproject.org)
-support a flexible input validation/type conversion system for all
dispatchers

I believe I've nailed down, in words, why the current configuration is
sub-optimal. The Configuration object uses a single method:

String get(String)

This means that even though something like actions.xml is in a nice
structure, it eventually gets pushed back down to the structure that
views.properties uses. For example, take a look at this from
ConfigurationViewMapping:

returnValue = Configuration.get(actionName+"!"+command+"."+aViewName);
...
returnValue = Configuration.get(actionName+"."+aViewName);

As you can see, not only is the view mapping but also the CommandAware stuff
(something inherently built in to ActionSupport only, meaning it shouldn't
be in core configuration stuff). This is a very flat structure. It also
doesn't leave room for allowing us to specify parameters for our actions. An
example of this is:

Say I have a SendEmail action. I want to be able to use the aciton in
various places. It sends generic emails out, so I want to re-use it. A
parameters to be passed in would be the "subject", as well as the "message"
body.  I'd be very nice to be able able to alias SendConfirmationEmail and
also SendPasswordEmail:

SendConfirmationEmail would be mapped to SendEmail but would have two
paramters auto set (as in my code doesn't need to do this): subject and
message. Same goes for SendPasswordEmail.

By using an ActionConfig (see sandbox/xwork/config) you can achieve this.

-Pat




-------------------------------------------------------
This SF.net email is sponsored by: ApacheCon, November 18-21 in
Las Vegas (supported by COMDEX), the only Apache event to be
fully supported by the ASF. http://www.apachecon.com
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to