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]

Reply via email to