XWork2 introduce the notion of package to group related action under the same namepsace. Its much like how java package being used to group related class. Just that XWork2 package supports multiple inheritance.
Namespace
XWork2 package defines the namespace its containing action is under. Without this attribute specified, the action will be automatically considered to be under the default (empty) namespace.
<xwork>
...
<package name="default" namespace="/myNamespace">
...
</package>
...
</xwork>
Abstraction
An action can be abstract, meaning that it will not be recognized by XWork2 but it does exists. This mean to identify action whose sole purpose tends to be a convenience for other action to subclass.
<xwork>
...
<package name="default-abstract" abstract="true">
...
</package>
<package name="default" extends="default-abstract">
...
<!-- more specific action here. -->
</package>
...
</xwork>
Extendability
XWork2 action support inheritance such that an action could extend form anohter parent action. XWork2 action could extends off multiple action. The extending action will inherit all its parent package
s action, interceptor, result-types etc.
<xwork>
...
<package name="default" namespace="/myNamespace" extends="parent1-default, parent2-default">
...
</package>
...
</xwork>
|