Struts 2.0 is a web application framework which implements the MVC design pattern. It is also provided with several architectural features to make it more flexible for developing web applications. It was developed by combining struts 1 and open symphony webwork 2.0.
Struts framework was initially created by Craig McClanahan and its first version 1.0 was released in June 2001.
Current stable release of Struts is 2.3 in July 16, 2013.
It is type of invasive framework which forces the programmer to create their classes by implementing from per-defined classes or interfaces.
Simple Design- As it allows the action to be simple POJOs. It thus allow loosly coupled and portability of classes.
Interceptors- It is provided with in built interceptor for layering cross cutting concern away from action logic.
Powerful EL, OGNL for data mapping from UI to action and vice versa.
Rich Tag Library- It is provided with UI tags.
Multiple View Options- Fo UI we can use JSP,Free Marker,Velocity etc.
Simple integration with other technology like Spring,Hibernate,JSTL.
Dependency Injection- It has an integrated dependency injection engine that manages the component lifecycle.
Ajax Tags- Its tag lib includes ajax jsp tags also. It can return JSON.
Struts supports extensive validations where other frame works doesn't.
Having inbuilt support for I18N