> If Struts is to move to being used as a generic MVC > architecture that can be used in a wide range of other > environments it may be appropriate to consider 'abstracting' > the request and response objects (or at least provide an > option to) to isolate them from the HTTP protocol. Otherwise, > Struts will likely remain tied to J2EE 'Web Applications' > (which I'm not saying is a bad thing). In fact, the value of > Struts as a "web application framework" may be great enough > that the creation of a generic MVC framework may better be > made a Commons project - if there is a desire to do this at all. >
I do this currently by a special base Action class that provides a handleRequest( UserRequest) which offers all methods for getting parameters, attributes, etc. without passing around all those HTTP references.. I had talked to Craig about this a while back, and he was concerned - for good reason - with backwards compat. If 2.0 is going to rip up and rebuild with new servlet technologies and other epiphanies over the last 2 years, I would so love to see this abstraction. It would make unit testing easier (yes, I've seen the frameworks out and they are fine for 1.0/1.1) and just make Struts into a more generic MVC model for things like Desktop GUIs and Web Services. > I've already built a 'command pattern' prototype based on > Axis that minimizes the need to define new WSDL for each Web > Service 'endpoint' you want to define. We could potentially > create a standard WSDL definition that is flexible enough to > handle a pretty wide range of applications and then build a > backend that maps the web sevice 'command' to a Struts form > bean/Action class combination. This would allow you to build > web service 'command processors' by implementing Action > classes. I've got a lot of the design already in my head. > That rocks! I have the same time constraints but would love to see this come to fruition! James -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

