Edit on GitHub

# Plugin Developers Guide

Apache Struts 2 provides a simple plugin architecture so that developers can extend the framework just by adding a JAR to the application’s classpath. Since plugins are contained in a JAR, they are easy to share with others. Several plugins are bundled with the framework, and others are available from third-party sources.

- Plugins Architecture
- Extending an Application with Custom Plugins

## Bundled Plugins

Name | Versions | Note
--- | --- | ---
Async Plugin | 6.0.0+ |
Bean Validation Plugin | 2.5+ |
CDI (JSR 299) Plugin | 2.3.1+ |
Codebehind Plugin | < 2.5 | removed since 2.5, use Convention Plugin
Config Browser Plugin |  |
Convention Plugin | 2.1.3+ |
DWR Plugin |  |
Embedded JSP Plugin | 2.1.7+ | deprecated since 6.0.0
JasperReports Plugin |  |
Java 8 Support Plugin | 2.3.21 - 2.5.2 |
Javatemplates Plugin | 2.1.3+ |
JFreeChart Plugin |  |
JSF Plugin | < 2.5 | removed since 2.5
JSON Plugin | 2.1.7+ |
JUnit Plugin |  |
OVal Plugin | 2.1.7+ | deprecated since 6.0.0, use Bean Validation Plugin
OSGi Plugin | 2.1.7+ | deprecated since 6.0.0
Plexus Plugin |  | deprecated since 6.0.0
Portlet Plugin |  | deprecated since 6.0.0
Portlet Tiles Plugin | 2.3.5+ | deprecated since 6.0.0
REST Plugin | 2.1.1+ |
SiteGraph Plugin | < 2.5 | removed since 2.5
SiteMesh Plugin |  |
Spring Plugin |  |
Struts 1 Plugin | < 2.5 | removed since 2.5
TestNG Plugin |  |
Tiles Plugin |  |
Tiles 3 Plugin | < 2.5 | removed since 2.5
Velocity Plugin |  |

> For a complete list of bundled and third-party plugins, visit the Plugin Registry.