org.springframework.web.portlet.handler
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:
- ApplicationContextAware, Ordered, HandlerMapping
public class ParameterHandlerMapping
- extends AbstractMapBasedHandlerMapping<String>
Implementation of the HandlerMapping
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
|
Method Summary |
protected String |
getLookupKey(javax.portlet.PortletRequest request)
Uses the value of the specified parameter as lookup key. |
void |
initApplicationContext()
Calls the registerHandlers 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.AbstractHandlerMapping |
adaptInterceptor, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getOrder, initInterceptors, setApplyWebRequestInterceptorsToRenderPhaseOnly, setDefaultHandler, setInterceptors, setOrder |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
ParameterHandlerMapping
public ParameterHandlerMapping()
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 the
registerHandlers method in addition
to the superclass's initialization.
- Overrides:
initApplicationContext in class AbstractHandlerMapping
- Throws:
ApplicationContextException - in case of initialization errors
BeansException - if thrown by ApplicationContext methods- See Also:
AbstractMapBasedHandlerMapping.registerHandlers(java.util.Map)
getLookupKey
protected String getLookupKey(javax.portlet.PortletRequest request)
throws Exception
- Uses the value of the specified parameter as lookup key.
- Specified by:
getLookupKey in class AbstractMapBasedHandlerMapping<String>
- Parameters:
request - current portlet request
- Returns:
- the lookup key (never
null)
- Throws:
Exception - if key computation failed- See Also:
setParameterName(java.lang.String)