Hack might be too strong a word. I'd call it a reasonable alternative extension of the framework :)

If we want to look at the WebWork/Maverick approach of using a single input/command handler, where Struts has separate input and command handlers, why not add the said standard ExecuteFormAction and ExecuteForm subclass to the build and see how the community reacts?

After 1.2.0 rolls, we could add them to the nightly build and mark them experimental. When 1.2.1 comes around, we could then decide whether to leave them or pull them. If we decide to pull them, we can always start that toolkit on SourceForge, and let it live there.

Or, if the community likes the idiom, then in 2.x we could provide the ExecuteForm behavior without providing an Action to do it.

-Ted.


Don Brown wrote:
Yes, it is possible to do a lot of things with Struts currently, but for
the most part, they are all hacks.  With Struts 2.0, we have a chance to
look at Struts best practices, other web frameworks, and current
technologies to design Struts to be the best and easiest framework for
web applications, and perhaps beyond.  My point is we should look at
whether to encourage through Struts design and documentation the
combination of forms and actions, or keep the current design.  In this
process, I think it is important to look at other frameworks and the
results of the design choices they made, particularly our close cousin
WebWork2/XWork.

Don

On Sat, 20 Dec 2003, Ted Husted wrote:


Don Brown wrote:

Hmm...I'm not familiar with that discussion, but I don't see why general
form functionality couldn't be defined in an interface, but the ActionForm
left how it is.  Of course we also have a chance to do what Craig said
he'd change about Struts (at JavaOne 2003 JSF BOF) and combine forms and
actions.  WebWork2/XWork seems to have done well with that approach.

It's been mentioned on the list that you can combine Actions and ActionForms already. All that's needed is an ActionForm subclass with an execute property, and a standard Action that simply returns that result instead:

ExecuteForm ef = (ExecuteForm) form;
return ef.execute(request,response,mapping,form);

-Ted.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to