Apache Struts 2 Documentation > Home > FAQs > What are some of the framework's best features |

Apache Struts 2 Documentation
What are some of the framework's best features
Edit Page Browse Space Add Page Add News
Added by Ted Husted, last edited by Ted Husted on Jul 22, 2006 (view change)

Key features of the framework include:

### Core

- Pluggable framework architecture that allows request lifecycles to be customized for each action.
- Flexible validation framework that allows validation rules to be decoupled from action code.
- Hierarchical approach to internationalization that simplifies localizing applications.
- Automatic type conversion that transparently maps values from HTTP to native Java data objects, solving one of the most tedious efforts when creating web applications.
- Integrated dependency injection engine that manages component lifecycle and dependencies. (By default, the framework utilizes Spring for dependency injection.)
- Modular configuration files that use packages and namespaces to simplify managing large projects with hundreds of actions.
- Java 5 annotations that reduce configuration overhead. (Java 1.4 is the minimum platform.)

### View

- Reusable user interface tags that allow for easy component-oriented development using themes and templates. Bundled tags ranges from simple text fields to advanced tags like date pickers and tree views.
- JSTL-compatible expression language (OGNL) that exposes properties on multiple objects as if they were a single JavaBean.
- Pluggable Result Types that support multiple view technologies, including JSP, FreeMarker, Velocity, PDF, and JasperReports.
- Optional AJAX theme that simplifes creating interactive web applications.
- Optional Interceptor plugins that can execute long-running queries in the background, prevent multiple form submissions, or handle custom security schemes.

### Other

- Easy integration with other popular products, including Hibernate, Spring, SiteMesh, and JSTL.
- Distributed under the business-friendly Apache License 2.0.