After some thought, I'm actually going to try and write an
UnknownHandler that will do all of this for me instead of the
modifications to Struts itself. I should be able to handle everything
that codebehind and zero-config do with my additional annotations and
some other enhancements for handling "components" without diving into
Tapestry or GWT or the like...
If anyone has reasons to believe that this won't work, just let me know.
Otherwise, I'll hopefully get this running and then can submit it as a
plugin.
-bp
Brian Pontarelli wrote:
I just got done writing an enhancement to the zero-configuration code.
It provides a number of new features:
- Support for action name mapping so that you can transform from
SomeNamedAction to someNamed.action or some_named.action. This uses an
interface so it can be extended however is required. I made two
implementations, the first uses the existing code to lowercase and
remove the action ending, the second is an SEO friendly implementation
that handles camel case and adds in underscores.
- Added the ActionName and ActionNames annotations for the action
classes. These two annotations allow actions to provide non-default
names as well as methods to invoke. You can also supply an array of
ActionName annotations to allow a single action to handle multiple
actions.
I did not add support to the result annotation to allow for results to
be associated with specific actions, but that should be trivial. This
stuff makes SEO handling pretty easy and also allows for modifications
to the zero-configuration URL handling via annotations in the same
manner that results can be modified via annotations. I'll be using
this stuff here locally, but I think it would be pretty beneficial to
the community and would like to discuss putting it back into core.
I can put together a patch file if anyone wants to look over the
modifications.
-bp
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]