org.apache.struts2.dispatcher.mapper
Class CompositeActionMapper
java.lang.Object
org.apache.struts2.dispatcher.mapper.CompositeActionMapper
- All Implemented Interfaces:
- ActionMapper
public class CompositeActionMapper
- extends Object
- implements ActionMapper
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 getMapping(HttpServletRequest, ConfigurationManager)
or
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
getMapping(HttpServletRequest, ConfigurationManager)
and
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.
- Version:
- $Date: 2008-04-27 08:41:38 -0500 (Sun, 27 Apr 2008) $ $Id: CompositeActionMapper.java 651946 2008-04-27 13:41:38Z apetrelli $
- See Also:
ActionMapper
,
ActionMapping
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG
private static final Logger LOG
container
protected Container container
actionMappers
protected List<ActionMapper> actionMappers
CompositeActionMapper
public CompositeActionMapper()
setContainer
public void setContainer(Container container)
setActionMappers
public void setActionMappers(String list)
getMapping
public ActionMapping getMapping(HttpServletRequest request,
ConfigurationManager configManager)
- Description copied from interface:
ActionMapper
- Expose the ActionMapping for the current request
- Specified by:
getMapping
in interface ActionMapper
- Parameters:
request
- The servlet requestconfigManager
- The current configuration manager
- Returns:
- The appropriate action mapping
getMappingFromActionName
public ActionMapping getMappingFromActionName(String actionName)
- Description copied from interface:
ActionMapper
- Expose the ActionMapping for the specified action name
- Specified by:
getMappingFromActionName
in interface ActionMapper
- Parameters:
actionName
- The name of the action that may have other information embedded in it
- Returns:
- The appropriate action mapping
getUriFromActionMapping
public String getUriFromActionMapping(ActionMapping mapping)
- Description copied from interface:
ActionMapper
- Convert an ActionMapping into a URI string
- Specified by:
getUriFromActionMapping
in interface ActionMapper
- Parameters:
mapping
- The action mapping
- Returns:
- The URI string that represents this mapping
Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.