|
A composite action mapper that is capable of delegating to a series of
ActionMapper if the former
failed to obtained a valid
ActionMapping or uri.
It is configured through struts.properties.
For example, with the following entries in struts.properties
<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts"
class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
<constant name="struts.mapper.composite"
value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper,org.apache.struts2.dispatcher.mapper.RestfulActionMapperorg.apache.struts2.dispatcher.mapper.Restful2ActionMapper" />
When
CompositeActionMapper.getMapping(HttpServletRequestConfigurationManager) or
CompositeActionMapper.getUriFromActionMapping(ActionMapping) is invoked,
CompositeActionMapper would go through these
ActionMapper s in sequence
starting from
ActionMapper identified by 'struts.mapper.composite.1', followed by
'struts.mapper.composite.2' and finally 'struts.mapper.composite.3' (in this case) until either
one of the
ActionMapper return a valid result (not null) or it runs out of
ActionMapper in which case it will just return null for both
CompositeActionMapper.getMapping(HttpServletRequestConfigurationManager) and
CompositeActionMapper.getUriFromActionMapping(ActionMapping) methods.
For example with the following in struts-*.xml :-
<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts"
class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
<constant name="struts.mapper.composite"
value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper,foo.bar.MyActionMapper,foo.bar.MyAnotherActionMapper" />
CompositeActionMapper will be configured with 3 ActionMapper, namely
"DefaultActionMapper", "MyActionMapper" and "MyAnotherActionMapper".
CompositeActionMapper would consult each of them in order described above.
See Also: ActionMapper See Also: ActionMapperFactory See Also: ActionMapping See Also: IndividualActionMapperEntry version: $Date: 2006-11-23 12:31:52 -0500 (Thu, 23 Nov 2006) $ $Id: CompositeActionMapper.java 478625 2006-11-23 17:31:52Z wsmoak $ |