|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Controller
Base portlet Controller interface, representing a component that receives
RenderRequest/RenderResponse and ActionRequest/ActionResponse like a
Portlet
but is able to participate in an MVC workflow.
Any implementation of the portlet Controller interface should be a reusable, threadsafe class, capable of handling multiple portlet requests throughout the lifecycle of an application. To be able to configure Controller(s) in an easy way, Controllers are usually JavaBeans.
After the DispatcherPortlet has received a request and has done its work
to resolve locales, themes and suchlike, it tries to resolve a
Controller to handle that request, using a
HandlerMapping
.
When a Controller has been found, the
handleRenderRequest
or handleActionRequest
method will be invoked, which is responsible for handling the actual
request and - if applicable - returning an appropriate ModelAndView.
So actually, these method are the main entrypoint for the
DispatcherPortlet
which delegates requests to controllers. These method - and also this interface -
should preferrably not be implemented by custom controllers directly, since
abstract controllers also provided by this package already provide a lot of
functionality for typical use cases in portlet applications. A few examples of
those controllers:
AbstractController
,
AbstractCommandController
,
AbstractFormController
,
SimpleFormController
.
So basically any direct implementation of the Controller interface just handles RenderRequests/ActionRequests and should return a ModelAndView, to be further used by the DispatcherPortlet. Any additional functionality such as optional validation, form handling, etc should be obtained through extending one of the abstract controller classes mentioned above.
SimpleControllerHandlerAdapter
,
AbstractController
,
AbstractCommandController
,
AbstractFormController
,
SimpleFormController
,
ApplicationContextAware
,
ResourceLoaderAware
,
PortletContextAware
Method Summary | |
---|---|
void |
handleActionRequest(ActionRequest request,
ActionResponse response)
Process the action request. |
ModelAndView |
handleRenderRequest(RenderRequest request,
RenderResponse response)
Process the render request and return a ModelAndView object which the DispatcherPortlet will render. |
Method Detail |
---|
void handleActionRequest(ActionRequest request, ActionResponse response) throws Exception
request
- current portlet action requestresponse
- current portlet action response
Exception
- in case of errorsModelAndView handleRenderRequest(RenderRequest request, RenderResponse response) throws Exception
null
return value is not an error: It indicates that this
object completed request processing itself, thus there is no ModelAndView to render.
request
- current portlet render requestresponse
- current portlet render response
Exception
- in case of errors
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |