Class ParameterHandlerMapping
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.portlet.handler.AbstractHandlerMapping
- org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping<String>
- org.springframework.web.portlet.handler.ParameterHandlerMapping
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,Ordered
,HandlerMapping
public class ParameterHandlerMapping extends AbstractMapBasedHandlerMapping<String>
Implementation of theHandlerMapping
to map from a request parameter to request handler beans.The default name of the parameter is "action", but can be changed using
setParameterName()
.The bean configuration for this mapping will look somthing like this:
<bean id="parameterHandlerMapping" class="org.springframework.web.portlet.handler.ParameterHandlerMapping"> <property name="parameterMap"> <map> <entry key="add"><ref bean="addItemHandler"/></entry> <entry key="edit"><ref bean="editItemHandler"/></entry> <entry key="delete"><ref bean="deleteItemHandler"/></entry> </map> </property> </bean>
Thanks to Rainer Schmitz for suggesting this mapping strategy!- Since:
- 2.0
- Author:
- John A. Lewis, Juergen Hoeller
- See Also:
ParameterMappingInterceptor
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping
AbstractMapBasedHandlerMapping.PortletRequestMappingPredicate
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_PARAMETER_NAME
Default request parameter name to use for mapping to handlers: "action".Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description ParameterHandlerMapping()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getLookupKey(PortletRequest request)
Uses the value of the specified parameter as lookup key.void
initApplicationContext()
Calls theregisterHandlers
method in addition to the superclass's initialization.void
setParameterMap(Map<String,?> parameterMap)
Set a Map with parameters as keys and handler beans or bean names as values.void
setParameterName(String parameterName)
Set the name of the parameter used for mapping to handlers.Methods inherited from class org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping
getHandlerInternal, registerHandler, registerHandler, registerHandlers, setLazyInitHandlers
Methods inherited from class org.springframework.web.portlet.handler.AbstractHandlerMapping
adaptInterceptor, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getOrder, initInterceptors, setApplyWebRequestInterceptorsToRenderPhaseOnly, setDefaultHandler, setInterceptors, setOrder
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, requiredContextClass, setApplicationContext
Field Detail
DEFAULT_PARAMETER_NAME
public static final String DEFAULT_PARAMETER_NAME
Default request parameter name to use for mapping to handlers: "action".- See Also:
- Constant Field Values
Constructor Detail
ParameterHandlerMapping
public ParameterHandlerMapping()
Method Detail
setParameterName
public void setParameterName(String parameterName)
Set the name of the parameter used for mapping to handlers.Default is "action".
setParameterMap
public void setParameterMap(Map<String,?> parameterMap)
Set a Map with parameters as keys and handler beans or bean names as values. Convenient for population with bean references.- Parameters:
parameterMap
- map with parameters as keys and beans as values
initApplicationContext
public void initApplicationContext() throws BeansException
Calls theregisterHandlers
method in addition to the superclass's initialization.- Overrides:
initApplicationContext
in classAbstractHandlerMapping
- Throws:
ApplicationContextException
- in case of initialization errorsBeansException
- if thrown by ApplicationContext methods- See Also:
AbstractMapBasedHandlerMapping.registerHandlers(java.util.Map<K, ?>)
getLookupKey
protected String getLookupKey(PortletRequest request) throws Exception
Uses the value of the specified parameter as lookup key.- Specified by:
getLookupKey
in classAbstractMapBasedHandlerMapping<String>
- Parameters:
request
- current portlet request- Returns:
- the lookup key (never
null
) - Throws:
Exception
- if key computation failed- See Also:
setParameterName(java.lang.String)