Though, AFAIK, we haven't been discussing Struts 2 at all. A while back, we came to a consensus that the Struts 2.x series would be based on Servlet 2.4 / JSP 2.0, but that's it.
The recent discussions are all things that we can do with the 1.x series. Craig thinks his new request processor will be able to snap in over the the 1.1 version, and I agree. The ActionContext signature could be brought in the same way we brought in the execute signature. The ActionForward page controller could also be an extension of what we have. If the ActionForward type property isn't used, the current behavior prevails.
Meanwhile, something I'd like to see would be a Struts extension that would allow us to use Tapestry UI components for view. We already have such for JSPs, JSTL, JSF, Velocity, XLST, and Coccoon, why not Tapestry as well? [Just putting a bug in your ear =:)]
-Ted.
Erik Hatcher wrote:
Normally I don't make a parting post to an e-mail list when unsubscribing, I just subtly disappear. But Struts has been a big part of my past couple of years professionally. I'll be signing off this e-mail list in a few days (to give time to see any juicy replies this might generate first :). My day job development team has decided to use Tapestry for our next project. It's always nice to get less e-mail than more, and the discussions of Struts2 are so far removed from my daily coding efforts that its best for me to sign off for now.
The app we just successfully deployed is completely in Struts, and the tricks we pulled with it have been the subject of my TheServerSide Symposium and No Fluff, Just Stuff symposium presentations, as well as the recent articles on Struts-XDoclet integration at the JavaPro website. Struts gave us enough flexibility to plug in cool things like resources from a database, a label taglib that leveraged Validator and ActionErrors information, and more.
So, Struts has served me well. Its far from perfect though, and in the spirit of *constructive* criticism here are some areas to consider.
Struts does not provide is true UI components that can be reused and encapsulate JavaScript, images, or other resources (i.e. there is a whole lot of cut-and-paste and trial and error).
Struts Actions are also hard to test, and things that are hard or no fun get neglected by developers (i.e. dependence on container API in Struts Actions is a real drawback for testing). Sure, Cactus or Mock use of StrutsTestCase are better than nothing, but its tough to mock business methods in Struts actions such that a database and container are not needed.
While exploring web frameworks, I spent a bit of time with WebWork2. I really like what I see going on there. Its lightweight, straightforward, and powerful. The interceptors add tons of flexibility. The IoC aspect of it decouples actions from the container and even concrete business implementations (making testing a WW2 action a real joy). The command-pattern is clean. The discussions of Struts2 seem to be aiming towards the same thing WebWork2 already is. I'd highly recommend those that are hard-core Struts developers give WebWork2 a good look and either jump ship or start seriously incorporating these ideas into the Struts2 architecture. Using interfaces is one immediate take-away from WW2 :)
I'm sure that our foray into Tapestry will not be without its share of hurdles, and probably reinventing some wheels we mastered with Struts, and judgment is still out on how tough testing will be with Tapestry.
I will continue to be a Struts developer for maintaining and enhancing the app we just deployed, so I'm not going to totally give it up - I just want to reduce my e-mail influx. And I will still present my Advanced Struts presentation several more times this year at No Fluff, Just Stuff symposiums.
I look forward to checking out the Struts2 architecture and code as it evolves.
Erik
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Ted Husted, Junit in Action - <http://www.manning.com/massol/>, Struts in Action - <http://husted.com/struts/book.html>, JSP Site Design - <http://www.amazon.com/exec/obidos/ISBN=1861005512>.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]