Another thing to consider is that the business functionality may not always be best expressed in straight Java. Integrating rules engines and/or XML service invocations is somewhat cleaner if the action and form are separate. hab
-----Original Message----- From: Edgar P Dollin [mailto:[EMAIL PROTECTED] Sent: Sun 12/21/2003 12:50 AM To: 'Struts Developers List' Cc: Subject: RE: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum) There is another benefit to the way that struts does things. Since the actionform has such a heavy structure, standard actions can be written based on the structure. If a common set of business actions can be defined then actions can be reused across large sections of a web enabled application, i.e. wizards, reports, lookup-save-saveas-delete, etc. Then business object can implement these simple interfaces, dropped into an actionform and off you go. Edgar > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 20, 2003 5:47 PM > To: Struts Developers List > Subject: Re: Struts 2.0 Ideas (was Re: Struts 2.0 Discussion Forum) > > > I think that sounds like a good compromise. In my view, > there are really two types of "forms" - small ones with one > or two parameters, and full blown complex input forms. In > the former case, I think combining the form and action is a > good idea; the latter, probably not so much. > > In WebWork2/XWork, as I understand it, your action can > declare JavaBean setters which will be automatically > populated by the framework. This makes it very easy to unit > test and frees the actions from any servlet dependencies. > This approach works very well for actions that require a > couple of parameters, while I might favor the Struts approach > for larger forms. > > To experiment adding these and other WebWork2/XWork features > in Struts we started the Struts Action Invocation Framework > (SAIF) on struts.sf.net > The Struts sf site is a great forum for trying out ideas > before sticking them in Struts core. To implement the > integrated form/action, we "scope" actions > (request/session/application), then use action interceptors > to set action JavaBean setters from the request parameters. > While SAIF certainly isn't ready to be put in Struts core, > the action interceptor idea is showing promise and provides a > good alternative to the more heavy-handed ActionForm for > simplier situations. > > Don > > > > > 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] > > > > > > > --------------------------------------------------------------------- > 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]