Name |
Scope Plugin |
---|---|
Publisher |
Apache Software Foundation |
License |
Open Source (ASL2) |
Version |
1.0.4 |
Homepage |
http://code.google.com/p/struts2scopeplugin/ |
Download |
http://code.google.com/p/struts2scopeplugin/downloads/list |
Source Code |
http://code.google.com/p/struts2scopeplugin/source |
Example |
http://struts2scopeplugin.googlecode.com/svn/trunk/example/ |
Overview
The Scope plugin implements JBoss Seam-style scoped bijection and conversation management
Features
- An @In annotation that marks action properties that should be injected from the session before an action executes
- An @Out annotation that marks action properties that should be put back into the session after an action executes
- An @Begin annotation that creates a new converstaion
- An @End annotation that ends a conversation and cleans up any variables stored in that conversation
Requirements
- Struts 2.x
Installation
See http://code.google.com/p/struts2plugin-maven-repo/ if you use maven.
For non-maven users, this plugin can be installed by copying the plugin jar into your application's /WEB-INF/lib
directory.
Usage
The scope plugin allows declarative scope management of action properties. Action properties can be scoped to one of several predefined scope. The predefined scopes are:
- REQUEST
- FLASH
- CONVERSATION
- SESSION
- COOKIE
- APPLICATION
- UNSPECIFIED
The scope management functionality is provided by an interceptor which needs to be added to your action's interceptor stack:
Examples
The following example shows how a session managed bean can be automatically be moved from the session to an action property before the action executes and moved from the action to the session after the action executes.
The next example shows how a conversation can be created and destroyed. Currently only a single active conversation is supported. A conversation will automatically be created for variables defined as CONVERSATION scope.
Future Features
- Add support for nested conversations
- Add support for named conversations
- Add support for ConversationIdAware