No kidding...I've been working on this damn thing every spare minute for
the last two weeks, trying to get it done before my first child (a son)
arrives (I hear it changes your life drastically) :)
As Wendy said, the best example right now is in the showcase, where the
person package uses the classpath scanning configuration. I plan to
document it better in the coming weeks. Until then, here is a cheatsheet:
- Use the "actionPackages" filter init param for a comma-separated list
of packages containing Action classes. The packages and their
subpackages will be scanned.
- All classes in the designated packages ending in "Action" are
examined. This is to allow for POJO Actions that don't implement the
Action interface.
- The subpackage name makes the namespace, and the action class name,
before the "Action" suffix, makes the action name. Therefore, if the
configured package is com.myapp.actions and the Action is
com.myapp.actions.member.EditAction, you can access it via
http://server/myapp/member/edit.action
- Results are defined with the Result and Results annotations at the
class level
- The Namespace annotation overrides the namespace
- The ParentPackage annotation has the XWork package (an XWork package
is created per Java package) to extend the defined package. Multiple
packages can be specified through annotations on multiple Actions in the
package.
HTH,
Don
Ted Husted wrote:
On 11/13/06, Don Brown <[EMAIL PROTECTED]> wrote:
My favorite part of the changes is the ability to have a fully
functional Struts app with no additional XML or properties files. Just
set the "actionPackages" property in web.xml, and Struts will scan those
packages and their subpackages for any Actions automatically.
I'd be happy to refactor the MailReader to fully exploit
zero-configuration, but I don't know where to begin. It was a huge
commit. Can you point out the key classes and unit tests to review to
better understand the specifics of zero-configuration?
-Ted.
---------------------------------------------------------------------
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]