Interesting, how different Struts crowd is ;) Some want to keep what they have, but make it cleaner. Other want the revolution. What about gradual improvement with compatibility with current code base?
I will try to explain again my ideas. As we all know, there are two approaches for webapps: Front Controller and Page Controller. Page Controller approach is simple to explain: it is page content combined with backing bean / code-behind / whatever you call it. An application unit is a page with some plumbing and business code. With Front Controller a unit is a Dispatcher, which renders a view: http://java.sun.com/blueprints/corej2eepatterns/Patterns/FrontController.html . It seems to me that Front Controller pattern is underused by many Struts users, who actually might be pretty happy with Page Controller. This is probably one of the reasons of their migration to JSF. But the strong selling point of Front Controller is that each Controller/Dispatcher *can generate different views*, that is, different pages. Many Struts users think in terms of "flow" of pages interleaved with actions (setup action->page->process action). I suggest to think in terms of actions owning a set of pages. So, there would be no setup actions or process actions. When an action is navigated to it displays a view corresponding to current action state, as simple as that. The "action having tree of pages" is more object-oriented. With it, an action has state and has events. This just begs for bringing Action and ActionForm into one class. Keeping state is easier on server, so this stateful action would have session scope. And, to provide better user experience, it use two phase request processing, redirecting from input phase to view phase. So, this is what I am suggesting, to move away from sequential approach of setup/process actions and from one JSP per action. And to accept (as an option! The codebase is still the same) to accept the idea of action as a stateful resource with multiple views. This is what Struts Dialogs provides. So, my vision of future Struts development is: * action as a stateful resource with multiple views * DispatchAction or its flavor is a base action to implement stateful resource and event handlers * two-phase request processing aka Redirect-after-Post (mainly for form submits) * Free navigation between actions (no flow is required to move from one action to another, but flow can be employed if needed.) * Short wizards are implemented by one action, not as sequence of actions * Two-phase request processing allows to create embeddable components using JSP without Portlet API and portlet engine * Standard components for login, for CRUD, for lists, etc. All this requires very little additions to current codebase, basically, just one action class. This may be a revolution in minds, but a very mild evolution for codebase :) Michael. --- Struts Dialogs: build components, controls and wizards http://struts.sourceforge.net/strutsdialogs --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]