I am not sure, but I believe I have read somewhere that JSF will replace Struts eventually, partly because JSF has become an official component of Sun's standard J2EE libraries. If that is true, it would be better to focus on JSF instead of Struts. [ February 14, 2007: Message edited by: Jeroen Oosterlaar ]
My own gut feeling is that Struts is more capable of "heavy lifting" than JSF is. However, I've yet to tackle a webapp where I felt JSF wasn't making the grade.
I've worked with Struts, and even published one of the early magazine articles on Struts. Given a choice these days, however, I prefer JSF. Struts done cleanly requires too many class definitions per discrete work function.
I do feel obligated to mention that Struts and JSF are quite capable of co-residing peacefully in the same webapp if there's need, whether the need is just a gradual phaseover or cases where one or the other frameworks is especially well-suited to a given request.
An IDE is no substitute for an Intelligent Developer.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com