The Spring Framework

org.springframework.web.portlet.mvc.annotation
Class AnnotationMethodHandlerAdapter

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.portlet.context.PortletApplicationObjectSupport
          extended by org.springframework.web.portlet.handler.PortletContentGenerator
              extended by org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter
All Implemented Interfaces:
ApplicationContextAware, PortletContextAware, HandlerAdapter

public class AnnotationMethodHandlerAdapter
extends PortletContentGenerator
implements HandlerAdapter

Implementation of the HandlerAdapter interface that maps handler methods based on portlet modes, action/render phases and request parameters expressed through the RequestMapping annotation.

Supports request parameter binding through the RequestParam annotation. Also supports the ModelAttribute annotation for exposing model attribute values to the view, as well as InitBinder for binder initialization methods and SessionAttributes for automatic session management of specific attributes.

This adapter can be customized through various bean properties. A common use case is to apply shared binder initialization logic through a custom WebBindingInitializer.

Since:
2.5
Author:
Juergen Hoeller, Arjen Poutsma
See Also:
setWebBindingInitializer(org.springframework.web.bind.support.WebBindingInitializer), setSessionAttributeStore(org.springframework.web.bind.support.SessionAttributeStore)

Field Summary
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
AnnotationMethodHandlerAdapter()
           
 
Method Summary
protected  ModelAndView doHandle(PortletRequest request, PortletResponse response, Object handler)
           
 void handleAction(ActionRequest request, ActionResponse response, Object handler)
          Use the given handler to handle this action request.
 ModelAndView handleRender(RenderRequest request, RenderResponse response, Object handler)
          Use the given handler to handle this render request.
 void setSessionAttributeStore(SessionAttributeStore sessionAttributeStore)
          Specify the strategy to store session attributes with.
 void setWebBindingInitializer(WebBindingInitializer webBindingInitializer)
          Specify a WebBindingInitializer which will apply pre-configured configuration to every DataBinder that this controller uses.
 boolean supports(Object handler)
          Given a handler instance, return whether or not this HandlerAdapter can support it.
 
Methods inherited from class org.springframework.web.portlet.handler.PortletContentGenerator
applyCacheSeconds, cacheForSeconds, check, checkAndPrepare, checkAndPrepare, getCacheSeconds, isRequireSession, preventCaching, setCacheSeconds, setRequireSession
 
Methods inherited from class org.springframework.web.portlet.context.PortletApplicationObjectSupport
getPortletContext, getTempDir, isContextRequired, setPortletContext
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnnotationMethodHandlerAdapter

public AnnotationMethodHandlerAdapter()
Method Detail

setWebBindingInitializer

public void setWebBindingInitializer(WebBindingInitializer webBindingInitializer)
Specify a WebBindingInitializer which will apply pre-configured configuration to every DataBinder that this controller uses.


setSessionAttributeStore

public void setSessionAttributeStore(SessionAttributeStore sessionAttributeStore)
Specify the strategy to store session attributes with.

Default is DefaultSessionAttributeStore, storing session attributes in the PortletSession, using the same attribute name as in the model.


supports

public boolean supports(Object handler)
Description copied from interface: HandlerAdapter
Given a handler instance, return whether or not this HandlerAdapter can support it. Typical HandlerAdapters will base the decision on the handler type. HandlerAdapters will usually only support one handler type each.

A typical implementation:

return (handler instanceof MyHandler);

Specified by:
supports in interface HandlerAdapter
Parameters:
handler - handler object to check
Returns:
whether or not this object can use the given handler

handleAction

public void handleAction(ActionRequest request,
                         ActionResponse response,
                         Object handler)
                  throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this action request. The workflow that is required may vary widely.

Specified by:
handleAction in interface HandlerAdapter
Parameters:
request - current action request
response - current action response
handler - handler to use. This object must have previously been passed to the supports method of this interface, which must have returned true.
Throws:
Exception - in case of errors

handleRender

public ModelAndView handleRender(RenderRequest request,
                                 RenderResponse response,
                                 Object handler)
                          throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this render request. The workflow that is required may vary widely.

Specified by:
handleRender in interface HandlerAdapter
Parameters:
request - current render request
response - current render response
handler - handler to use. This object must have previously been passed to the supports method of this interface, which must have returned true.
Returns:
ModelAndView object with the name of the view and the required model data, or null if the request has been handled directly
Throws:
Exception - in case of errors

doHandle

protected ModelAndView doHandle(PortletRequest request,
                                PortletResponse response,
                                Object handler)
                         throws Exception
Throws:
Exception

The Spring Framework

Copyright © 2002-2007 The Spring Framework.