In your opinion, will the Struts completely replace the traditional MVC model someday or will they co-exist for awhile?
They aren't really competing ideas -- Struts is heavily (I would say "infused") with the Model 2 variant of MVC. Even for small projects, Struts offers good, basic plumbing that every Model 2 application needs. It's mostly stuff you would have to write yourself if you weren't using Struts. Of course, Struts has a bunch of additional features (like i18n, declarative validations, etc), but you don't have to use them.
I think that Struts, JSTL and it's expression language, and
JSF are going to have to find a way to cooperate. And, I think they will -- for example, Struts already optionally supports JSTL's EL.
Neal Ford<br />Author, <i>Art of Java Web Development: Struts, Tapestry, Commons, Velocity, JUnit, Axis, Cocoon, InternetBeans, WebWork</i><br /><a href="http://www.nealford.com" target="_blank" rel="nofollow">www.nealford.com</a>