Hi Anselm,
Thanks for your question. I may have covered some of this ground in my response to another of your posts (<a href="https://coderanch.com/t/50854/Struts/Struts-Vs-Other-Frameworks"/>
, so I'll try to avoid repeating too much.
Struts has a tremendous lead in mindshare and network effects over the other frameworks, so technology decisions on many projects will likely continue to be influenced by these factors. (In other words, the likelihood that management may require a team to use Struts on their next project is still high.) However, I think JSF spec compliant frameworks will make strong inroads by virtue of being rolled into
J2EE, and because of the strong tooling support from multiple vendors. There are also quite a few books, training course, etc. available on the topic.
If I had to guess, I think its likely that the other frameworks will also erode Struts's market share, though to a much smaller degree. Tapestry has been adopted as a Jakarta project, so that (along with its other advantages) may help it gain a bit more market penetration. (I certainly hope that's the case, as I think Tapestry is a breath of fresh air for the
Java community.) I think Spring offers a compelling case as an integrated stack, and WebWork is very clean, so they should continue to do well, though again, I think JSF and Struts will dominate.
Interestingly, Struts is not standing still. Work on Struts 1.3 is pretty far along, and the major features (breaking RequestProcessor callbacks up into individual classes glued together by Commons Chain, adding support for an ActionContext, etc.) should be very welcome. Meantime, Struts 2.0 (Shale) appears to be incorporating significant chunks of the JSF spec, so it promises to be much more than an update, and in fact will probably feel more like an entirely new web app framework. If they do a good job integrating workflow features, Shale is likely to attract a lot of attention.
Jonathan