|Home > Guides > Plugin Developers Guide > Struts 1 Plugin|
The Struts 1 plugin allows you to use existing Struts 1 Actions and ActionForms in Struts 2 applications.
This plugin provides a generic Struts 2 Action class to wrap an existing Struts 1 Action,
org.apache.struts2.s1.Struts1Action. The wrapper class provides the expected calls to the legacy Struts 1 Action and ActionForm, converting incoming and outgoing objects into the expected forms. It works by using the scoped model driven technique that uses a single Object as the model for every page, very similar to how the Struts 1 ActionForm works. The plugin also provides several interceptors to emulate Struts 1 logic:
org.apache.struts2.s1.ActionFormValidatorInterceptor- Integrates the validation of ActionForms into the workflow of Struts 2
org.apache.struts2.s1.ActionFormResetInterceptor- Calls the
reset()method on any discovered ActionForms
To use existing Struts 1 Actions and ActionForms in a Struts 2 application, create a normal Struts 2 configuration package in
struts.xml, but have it extend
struts1-default package contains several interceptors and a default interceptor stack that work the plugin into the Struts 2 request process.
In the most simple case, where you have a Struts 1 Action that you want to use in Struts 2, configure a Struts 2 action using the wrapper:
Most likely, you will have an ActionForm that your Struts 1 Action expects. To use an ActionForm, the setup is a little more complicated because you'll need an interceptor that manages the creation and scope (to support request and session scoping like Struts 1) of the ActionForm.
This example shows a few Struts 1 Actions, a session-scoped ActionForm, and validation that uses Commons Validator:
This plugin doesn't support any global settings.
This plugin can be installed by copying the plugin jar into your application's
/WEB-INF/lib directory. It will need the Struts 1 jar in order to function correctly.