Name | Struts 1 Plugin | ||
---|---|---|---|
Author | N/A | ||
Homepage | N/A | ||
Version | N/A | ||
Compatibility | Bundled with Struts | ||
Publisher | Apache Software Foundation | State | Unstable |
License | Open Source (ASL2) | ||
Download | N/A |
Overview
Excerpt |
---|
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 2org.apache.struts2.s1.ActionFormResetInterceptor
- Calls thereset()
method on any discovered ActionForms
Features
- Can use Struts 1 Actions and ActionForms with no code changes
- Supports Commons Validator-enabled ActionForms
Usage
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
. The 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:
Code Block | ||||
---|---|---|---|---|
| ||||
<action name="myAction" class="org.apache.struts2.s1.Struts1Action">
<param name="className">com.mycompany.myapp.MyAction</param>
<result>myAction.jsp</result>
</action>
|
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.
Code Block | ||||
---|---|---|---|---|
| ||||
<action name="myFormAction" class="org.apache.struts2.s1.Struts1Action">
<param name="className">com.mycompany.myapp.MyAction</param>
<interceptor name="myForm" class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor">
<param name="className">com.mycompany.myapp.MyForm</param>
<param name="name">gangsterForm</param>
<param name="scope">session</param>
</interceptor>
<interceptor-ref name="struts1-default" />
<result>myAction.jsp</result>
</action>
|
Example
...
Version | Bundled with Struts 2 |
---|---|
Homepage | |
Download |
Wiki Markup |
---|
{ |
...
rate: |
...
title=Rating|theme=dynamic} |
The Struts 1 plugin
Excerpt |
---|
allows you to use existing Struts 1 Actions and ActionForms in Struts 2 applications |
Settings
This plugin doesn't support any global settings.
Installation
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.