It has been a while, since I have been working on Struts 2. I have made very simple applications with it.
But now, our team has to build a COMPLEX real-world project. I was first of the view to use struts 2.
But then, my team mates say that struts1.3 is used in industry and struts 2 has STILL not been adopted enthusiastically by industry.
And besides, owing to my personal experience, I know that online help for struts 1 is better, as more and more people are used to it.
What I am trying to put across is: due to its complex architecture and obscure OGNL struts 2 is hard to adopt, so should my team really go for struts 1?
It's the belief in the power of your dreams that counts! (SCJP 5.0, SCWCD 5.0)
There is absolutely no reason to use Struts 1 for a new project with all the better alternatives available. And there's nothing complex about the S2 architecture; it's simpler than S1, easier to test, more flexible, etc.--there's simply no comparison.
*No* framework will ever be embraced as thoroughly as Struts 1 was: the time for that has long passed. Much has been learned, the mistakes of S1 are well-understood, and *any* modern framework is a better option.
Struts 2 would be the best choice as it has simpler project structure, easy to use, has a lot of built-in stuff which will make your life easier, and solved a lot of bugs used to occurs in Struts1 (such as FormBean).
It's not true that Struts2 is not ready for complex application, it is used widely ( i am using it in the company i work for).
It is not hard to use it as you will find a lot of online resources which will help you