I am currently looking to streamline simplify an application built upon SiteMesh, Struts 1.3.8, and Hibernate3 frameworks. I am considering the inevitable replacement of Struts with an updated MVC supporting framwork.
My initial thought was that Stripes could be implemented to replace both SiteMesh and Struts in one swoop, not only greatly reducing the code base but also reducing the frameworks that are needed. However, I am more familiar with Stripes than any other option and I don't want to fall victim to the 'if your a hammer...' mentality.
So... all that background to ask two questions...
What questions should I be asking in trying to determine the best path? And...
What are other alternatives that I should consider and why? [ May 16, 2008: Message edited by: Logan Wade ]
What questions should I be asking in trying to determine the best path?
You've already asked the right question. Everyone should question Struts 1. You have to look at something though, in all seriousness. You should determine if rewriting the entire app in a new framework is beneficial. Once you answered that question and if the answer is "yes" then we get to the next part.
Tim wrote Stripes because he was frustrated with Struts. Because of this the conversion process is really smooth. I believe Struts to Stripes is probably the easiest framework transition out there. For example:
What are other alternatives that I should consider and why?
While I'd love to just say use Stripes, there probably are reasons to choose something else, though I've found Stripes to be a very good all purpose MVC framework and haven't seen a need for anything else myself with the work I've been doing over the past two years. I'd say it depends mostly on what you are already familiar with and the features that need to be implemented in the system. Again, I'd be surprised if Stripes couldn't fulfill all the MVC requirements, but maybe you need something more full stack?
If you're really keen on replacing Struts with another model 2/ web MVC framework (opposed to e.g. using a component oriented framework, which would probably be quite an undertaking), imho Stripes is by far the best of the bunch.