I generally don't care to get into these kinds of discussions but looking into the release dates for versions of Struts 2 and Stripes and looking at features of Struts 2 it looks like the Struts guys borrowed a lot of ideas from Stripes. I guess what they say is true. Imitation is the best form of flattery. Or maybe it is just coincidence.
I'm curious for those of you that have tried both, which do you prefer and why? What is it about Struts or Stripes that does it for you? Again, I'd really appreciate responses from folks that have tried both. [ November 11, 2008: Message edited by: Gregg Bolinger ]
I learned Struts back in 2006 after borrowing a Struts book. I remember trying for 2 days to get a simple example to work, only to find it was something very simple in the struts XML file I miss-typed. Once I got up to speed, I then developed an application which used a lot of Integer inputs and the validation/repopulation with '0' in the empty field values really bugged me. Lot's of other things (including tiles) also made me think, "there has to be an easier way to do this?".
Long story short, after looking at loads of introductory code examples, the Stripes framework's Quick Start Guide made me go, "No way! It can't be that simple". I downloaded it, copy-pasted the code and it worked. Changed a few things, added a few things, looked through the references on the website and thought, "blimey this is really easy!". In short, with Generified Advanced Indexed Properties, Stripes Layout Tags and being able to Unit Test ActionBeans (among lots of other things), I couldn't go back to Struts.
Unfortunately, I still had to work on projects with struts and help the junior programmers to use struts. They always struggle. But since I'm a senior développeur, I always leave the presentation layer to them while I develop the service layer and the JPA/DAO layer. ;o)
All that's left is to convince the companies that hire us to use Stripes. If they hear struts, spring, jpa, hibernate, the like it. But they don't know Stripes so they think their internal staff wouldn't be able to take over once we're gone. The thing is, is that if you know struts, you practically already know Stripes and you'll be way more productive.
BTW, I put together two best practices we use on all of our projects to keep things strictly seperated and organised. This helps when many developers are working together on large projects (as well as unittesting) :
Thanks Dave. But you didn't address my question. You simply said Stripes is better than Struts (1.x) in a long winded fashion, which I think most will agree with to some extent. I was asking specifically about Struts2.