I have been working on some extensions to Struts for Java 5 which I
would like to make publically available shortly under an Apache open
source licence. I think the extension offers to greatly enhance existing
Struts-based development for Java 5 users.
The key design goals of the framework extensions are:
- introduce no compatibility issues apart from Java 5
- simplify the action/form programming model
- offer or even improve on features offered by competitive frameworks
(declarative validation, data binding, dependency injection,
interceptors, etc)
- keep easy to learn for existing Struts users
The scope of the extension is indicated by the Key Features section
below. I plan to set up the source control environment (probably
SourceForge or Java.net) and home page next week. Before doing so, I
need a PROJECT NAME:
I'm currently working on three names:
- StrutsPlus (one word): please let me know if you have a problem with
this particular choice
- Strexx (stands for Struts Extensions, of course. Not using "Strex"
because www.strex.org is not available)
- Strecks (a variation on Strexx)
I'll make additional posts next week when I have an environment, and
some docs and samples available. Also, I'd really appreciate any support
anyone is prepared to offer, in terms of advice, suggestions, comments
and particularly help!
Regards,
Phil Zoio
Realsolve Solutions Ltd.
web: http://www.realsolve.co.uk
email: [EMAIL PROTECTED]
-----
Key Features
Actions:
- pure POJO action beans with zero framework dependencies
- action vs controller separation. Request processing logic is
encapsulated into Action controllers, simplifying action implementations
- annotation-based dependency injection (typed request parameters,
session attributes, Spring beans, and many others)
- various out of the box controller implementations
- control over action instatiation. e.g. make action bean
"spring-managed" by adding a single annotation!
Forms:
- annotation-based form validators (XML and code-free)
- annotation-based data binding from form properties to domain model
- annotations for additional per-field control over type conversion
- converters and validators type-parameterized using Java 5 generics
Navigation:
- mechanisms for facilitating redirect after post
- out the box support for various mechanisms to Navigate to action forward
- additional navigation mechanisms pluggable using annotations
Interceptors:
- pre and post action interceptors, with access to dependency resolved
action beans as well as full runtime context
Extensibility:
- 100% extensibility in the sense that new validators, converters, data
binding mechanism, dependency injection mechanisms, etc. can be added
without changing any existing code or config!
- supports custom action annotations with no code or config file change
Testability:
- Actions, form validation and data conversion easily testable with
plain unit tests - no test libraries required
Compatibility:
- works on the unchanged Struts 1.2.x code base. 100% backward
compatibility, no migration issues
- Works with unchanged Struts tag libraries and configuration files
- works with StrutsTestCase
- no extra XML required
- requires Java 5
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]