The Apache Struts 2 framework provides many features that were not in struts1. The important features of struts 2 framework are as follows:
1. Configurable MVC components:-
we can easily configure the MVC components in its configurations files like struts.xml and web.xml. It provide all the components and support.
2. POJO based actions:-
In struts 2, action class is POJO (Plain Old Java Object) i.e. a simple java class. Here, you are not forced to implement any interface or inherit any class or not form a form bean class.
3. AJAX support:-
Struts 2 provides support to ajax technology in its stable releases . It is used to make asynchronous request i.e. it doesn't block the user. It sends only required field data to the server side not all. So it makes the performance fast.
4. Integration support:-
We can simply integrate the struts 2 application with hibernate, spring, tiles etc. frameworks.
5. Various Result Types:-
We can use JSP, freemarker, velocity etc. technologies as the result in struts 2.
6. Various Tag support:-
Struts 2 provides various types of tags such as UI tags, Data tags, control tags etc to ease the development of struts 2 application.
7. Theme and Template support:-
Struts 2 provides three types of theme support: xhtml, simple and css_xhtml. The xhtml is default theme of struts 2. Themes and templates can be used for common look and feel.