Ted, can you (or someone else) clarify the difference b/t "action chaining" and "action relay"?
Thanks, Greg > -----Original Message----- > From: Ted Husted [mailto:[EMAIL PROTECTED]] > Sent: Friday, January 31, 2003 5:34 AM > To: [EMAIL PROTECTED] > Subject: RE: design question about action chainning(As quoted > in :Struts > in action...by Ted Husted et al..) > > > Derek Richardson writes: > > >But you still have to duplicate code in the actions, right? Even if > >that code is as simple as: > > > >Service service = Service.getService(SERVICE_KEY); > >Foo[] foos = service.getFoos(); > >request.setAttribute(FOO_KEY, foos); > > > >Action chaining allows this code to be written once and used many > >times. Thus you get reuse of presentation code, not just business > >logic. > > Personally, I would put utility code like this in a super > class and make > it available to whatever Action wanted to call it. Actions are > instantiated once, and there is no performance penalty for > have a deep > hierarchy. > > So there would be something like > > setService(request) > > that any Action could call. > > The BaseAction in Scaffold makes good use of this technique for error > handling and such. > > What happens with true Action chaining (not to be confused > with a simple > Action relay) is that instead of using Java calls to create our > presentation API, we start to use HTTP to make the API calls instead. > IMHO, this is a step backward. The point of Struts is to get > us up and > out of HTTP and into an object-orientated domain, where we can write > proper programs. (Rather than an endless chain of kludges.) > > -Ted. > > > > -- > Ted Husted, > Struts in Action <http://husted.com/struts/book.html> > > > --------------------------------------------------------------------- > 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]