public class PortletWrappingController extends AbstractController implements ResourceAwareController, EventAwareController, BeanNameAware, InitializingBean, DisposableBean, PortletContextAware, PortletConfigAware
Controller
implementation 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 HandlerInterceptors
to its requests.
Example:
<bean id="wrappingController" class="com.liferay.portletmvc4spring.mvc.PortletWrappingController"> <property name="portletClass"> <value>com.liferay.portletmvc4spring.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>
logger
Constructor and Description |
---|
PortletWrappingController() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
void |
destroy() |
protected void |
handleActionRequestInternal(javax.portlet.ActionRequest request,
javax.portlet.ActionResponse response)
Subclasses are meant to override this method if the controller is expected to handle action requests.
|
void |
handleEventRequest(javax.portlet.EventRequest request,
javax.portlet.EventResponse response)
Process the event request.
|
protected ModelAndView |
handleRenderRequestInternal(javax.portlet.RenderRequest request,
javax.portlet.RenderResponse response)
Subclasses are meant to override this method if the controller is expected to handle render requests.
|
ModelAndView |
handleResourceRequest(javax.portlet.ResourceRequest request,
javax.portlet.ResourceResponse response)
Process the resource request and return a ModelAndView object which the DispatcherPortlet will render.
|
void |
setBeanName(String name) |
void |
setInitParameters(Map<String,String> initParameters)
Specify init parameters for the portlet to wrap, as name-value pairs.
|
void |
setPortletClass(Class<?> portletClass)
Set the class of the Portlet to wrap.
|
void |
setPortletConfig(javax.portlet.PortletConfig portletConfig)
Set the PortletConfigthat this object runs in.
|
void |
setPortletContext(javax.portlet.PortletContext portletContext)
Set the PortletContext that this object runs in.
|
void |
setPortletName(String portletName)
Set the name of the Portlet to wrap.
|
void |
setUseSharedPortletConfig(boolean useSharedPortletConfig)
Set whether to use the shared PortletConfig object passed in through
setPortletConfig , if available. |
handleActionRequest, handleRenderRequest, isRenderWhenMinimized, isSynchronizeOnSession, setRenderWhenMinimized, setSynchronizeOnSession
applyCacheSeconds, cacheForSeconds, check, checkAndPrepare, checkAndPrepare, getCacheSeconds, isRequireSession, preventCaching, setCacheSeconds, setRequireSession
getPortletContext, getTempDir, isContextRequired
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
public void destroy()
destroy
in interface DisposableBean
public void handleEventRequest(javax.portlet.EventRequest request, javax.portlet.EventResponse response) throws Exception
EventAwareController
handleEventRequest
in interface EventAwareController
request
- current portlet event requestresponse
- current portlet event responseException
- in case of errorspublic ModelAndView handleResourceRequest(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws Exception
ResourceAwareController
null
return value is not an error: It indicates that this object completed request processing itself, thus there
is no ModelAndView to render.handleResourceRequest
in interface ResourceAwareController
request
- current portlet resource requestresponse
- current portlet resource responseException
- in case of errorspublic void setBeanName(String name)
setBeanName
in interface BeanNameAware
public void setInitParameters(Map<String,String> initParameters)
public void setPortletClass(Class<?> portletClass)
javax.portlet.Portlet
.Portlet
public void setPortletConfig(javax.portlet.PortletConfig portletConfig)
PortletConfigAware
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.
setPortletConfig
in interface PortletConfigAware
portletConfig
- PortletConfig object to be used by this objectpublic void setPortletContext(javax.portlet.PortletContext portletContext)
PortletContextAware
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.
setPortletContext
in interface PortletContextAware
setPortletContext
in class PortletApplicationObjectSupport
portletContext
- PortletContext object to be used by this objectpublic void setPortletName(String portletName)
public void setUseSharedPortletConfig(boolean useSharedPortletConfig)
setPortletConfig
, 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.
protected void handleActionRequestInternal(javax.portlet.ActionRequest request, javax.portlet.ActionResponse response) throws Exception
AbstractController
handleActionRequest
.
The default implementation throws a PortletException.
protected ModelAndView handleRenderRequestInternal(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response) throws Exception
AbstractController
handleRenderRequest
.
The default implementation throws a PortletException.
Copyright © 2019 Liferay, Inc.. All rights reserved.