Class PortletWrappingController
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.portlet.context.PortletApplicationObjectSupport
- org.springframework.web.portlet.handler.PortletContentGenerator
- org.springframework.web.portlet.mvc.AbstractController
- org.springframework.web.portlet.mvc.PortletWrappingController
- All Implemented Interfaces:
Aware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,PortletConfigAware,PortletContextAware,Controller,EventAwareController,ResourceAwareController
public class PortletWrappingController extends AbstractController implements ResourceAwareController, EventAwareController, BeanNameAware, InitializingBean, DisposableBean, PortletContextAware, PortletConfigAware
Controllerimplementation that wraps a portlet instance which it manages internally. Such a wrapped portlet is not known outside of this controller; its entire lifecycle is covered here.Useful to invoke an existing portlet via Spring's dispatching infrastructure, for example to apply Spring
HandlerInterceptorsto its requests.Example:
<bean id="wrappingController" class="org.springframework.web.portlet.mvc.PortletWrappingController"> <property name="portletClass"> <value>org.springframework.web.portlet.sample.HelloWorldPortlet</value> </property> <property name="portletName"> <value>hello-world</value> </property> <property name="initParameters"> <props> <prop key="config">/WEB-INF/hello-world-portlet-config.xml</prop> </props> </property> </bean>- Since:
- 2.0
- Author:
- Juergen Hoeller, John A. Lewis
Field Summary
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Constructor Summary
Constructors Constructor Description PortletWrappingController()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()Invoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.voiddestroy()Invoked by the containingBeanFactoryon destruction of a bean.protected voidhandleActionRequestInternal(ActionRequest request, ActionResponse response)Subclasses are meant to override this method if the controller is expected to handle action requests.voidhandleEventRequest(EventRequest request, EventResponse response)Process the event request.protected ModelAndViewhandleRenderRequestInternal(RenderRequest request, RenderResponse response)Subclasses are meant to override this method if the controller is expected to handle render requests.ModelAndViewhandleResourceRequest(ResourceRequest request, ResourceResponse response)Process the resource request and return a ModelAndView object which the DispatcherPortlet will render.voidsetBeanName(String name)Set the name of the bean in the bean factory that created this bean.voidsetInitParameters(Map<String,String> initParameters)Specify init parameters for the portlet to wrap, as name-value pairs.voidsetPortletClass(Class<?> portletClass)Set the class of the Portlet to wrap.voidsetPortletConfig(PortletConfig portletConfig)Set the PortletConfigthat this object runs in.voidsetPortletContext(PortletContext portletContext)Set the PortletContext that this object runs in.voidsetPortletName(String portletName)Set the name of the Portlet to wrap.voidsetUseSharedPortletConfig(boolean useSharedPortletConfig)Set whether to use the shared PortletConfig object passed in throughsetPortletConfig, if available.Methods inherited from class org.springframework.web.portlet.mvc.AbstractController
handleActionRequest, handleRenderRequest, isRenderWhenMinimized, isSynchronizeOnSession, setRenderWhenMinimized, setSynchronizeOnSession
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
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, requiredContextClass, setApplicationContext
Constructor Detail
PortletWrappingController
public PortletWrappingController()
Method Detail
setUseSharedPortletConfig
public void setUseSharedPortletConfig(boolean useSharedPortletConfig)
Set whether to use the shared PortletConfig object passed in throughsetPortletConfig, if available.Default is "true". Turn this setting to "false" to pass in a mock PortletConfig object with the bean name as portlet name, holding the current PortletContext.
setPortletContext
public void setPortletContext(PortletContext portletContext)
Description copied from interface:PortletContextAwareSet the PortletContext that this object runs in.Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked after ApplicationContextAware's setApplicationContext.
- Specified by:
setPortletContextin interfacePortletContextAware- Overrides:
setPortletContextin classPortletApplicationObjectSupport- Parameters:
portletContext- PortletContext object to be used by this object
setPortletConfig
public void setPortletConfig(PortletConfig portletConfig)
Description copied from interface:PortletConfigAwareSet the PortletConfigthat this object runs in.Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked after ApplicationContextAware's setApplicationContext.
- Specified by:
setPortletConfigin interfacePortletConfigAware- Parameters:
portletConfig- PortletConfig object to be used by this object
setPortletClass
public void setPortletClass(Class<?> portletClass)
Set the class of the Portlet to wrap. Needs to implementjavax.portlet.Portlet.- See Also:
Portlet
setPortletName
public void setPortletName(String portletName)
Set the name of the Portlet to wrap. Default is the bean name of this controller.
setInitParameters
public void setInitParameters(Map<String,String> initParameters)
Specify init parameters for the portlet to wrap, as name-value pairs.
setBeanName
public void setBeanName(String name)
Description copied from interface:BeanNameAwareSet the name of the bean in the bean factory that created this bean.Invoked after population of normal bean properties but before an init callback such as
InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
setBeanNamein interfaceBeanNameAware- Parameters:
name- the name of the bean in the factory. Note that this name is the actual bean name used in the factory, which may differ from the originally specified name: in particular for inner bean names, the actual bean name might have been made unique through appending "#..." suffixes. Use theBeanFactoryUtils.originalBeanName(String)method to extract the original bean name (without suffix), if desired.
afterPropertiesSet
public void afterPropertiesSet() throws Exception
Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSetin interfaceInitializingBean- Throws:
Exception- in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
handleActionRequestInternal
protected void handleActionRequestInternal(ActionRequest request, ActionResponse response) throws Exception
Description copied from class:AbstractControllerSubclasses are meant to override this method if the controller is expected to handle action requests. The contract is the same as forhandleActionRequest.The default implementation throws a PortletException.
handleRenderRequestInternal
protected ModelAndView handleRenderRequestInternal(RenderRequest request, RenderResponse response) throws Exception
Description copied from class:AbstractControllerSubclasses are meant to override this method if the controller is expected to handle render requests. The contract is the same as forhandleRenderRequest.The default implementation throws a PortletException.
handleResourceRequest
public ModelAndView handleResourceRequest(ResourceRequest request, ResourceResponse response) throws Exception
Description copied from interface:ResourceAwareControllerProcess the resource request and return a ModelAndView object which the DispatcherPortlet will render. Anullreturn value is not an error: It indicates that this object completed request processing itself, thus there is no ModelAndView to render.- Specified by:
handleResourceRequestin interfaceResourceAwareController- Parameters:
request- current portlet resource requestresponse- current portlet resource response- Returns:
- a ModelAndView to render, or null if handled directly
- Throws:
Exception- in case of errors
handleEventRequest
public void handleEventRequest(EventRequest request, EventResponse response) throws Exception
Description copied from interface:EventAwareControllerProcess the event request. There is nothing to return.- Specified by:
handleEventRequestin interfaceEventAwareController- Parameters:
request- current portlet event requestresponse- current portlet event response- Throws:
Exception- in case of errors
destroy
public void destroy()
Description copied from interface:DisposableBeanInvoked by the containingBeanFactoryon destruction of a bean.- Specified by:
destroyin interfaceDisposableBean