When rendering a JSP component with the JSR286 rendering portlet

When rendering JSP components through the JSR286 local rendering portlet you need to check the Workspace.WCM_RENDERINGCONTEXT_KEY attribute on the original PortletRequest.

There are 2 ways to achieve that:

1. Import the JSR Portlet JSP Tag lib and get the RenderingContext from the renderRequest object.
This approach is more elegant but it will only work when rendering via the JSR286 rendering.

<%@ taglib uri=”http://java.sun.com/portlet&#8221; prefix=”portlet” %>
<portlet:defineObjects/>
<%
RenderingContext renderingCtx = request.getAttribute(Workspace.WCM_RENDERINGCONTEXT_KEY);
if(renderingCtx == null) {
renderingCtx = (RenderingContext)renderRequest.getAttribute(Workspace.WCM_RENDERINGCONTEXT_KEY);
}
%>

2. Get the PortletRequest from the ServletRequest as documented in the Java Portlet 2.0 Specification.
This works for rendering via the both (legacy and JSR286) rendering portlets and also for servlet rendering.

<%@ page import=”javax.portlet.*”%>
<%
RenderingContext renderingCtx = (RenderingContext)request.getAttribute(Workspace.WCM_RENDERINGCONTEXT_KEY);
if(renderingCtx == null) {
Object portletRequest = request.getAttribute(“javax.portlet.request”);
if(portletRequest != null && portletRequest instanceof PortletRequest) {
// JSR286 rendering
renderingCtx = (RenderingContext) ((PortletRequest)portletRequest).
getAttribute(Workspace.WCM_RENDERINGCONTEXT_KEY);
}
}
%>

Rerfernces:

http://www-10.lotus.com/ldd/portalwiki.nsf/dx/wcm-jsr-286-portlet-tips-issues-and-limitations

Advertisements

About Ishtiaque

I am IBM Certified Infrastructure Systems Architect, Linux Foundation Certified System Administrator, Oracle Certified Programmer in Java and Web Component Developer, and TOGAF 9 certified with over 10 years of support and development experience in IBM middleware software and Java. Additionally, have a sound grip in databases and OpenStack administration. I hold the following certifications: IBM Certified Infrastructure Systems Architect Linux Foundation Certified System Administrator (LFCS) TOGAF 9 Certified Oracle Certified Expert, Java EE6 Web Component Developer Oracle Certified Professional – Java 6 Programmer ITIL v3 Foundation Certified IBM Certified Solution Architect – Cloud Computing Infrastructure V1 IBM Certified System Administrator – WebSphere Portal V8, V7, V6.1, V6 IBM Certified System Administrator – WebSphere Application Server V7, V6.1 IBM Certified System Administrator – AIX V7 IBM Certified System Administrator – WebSphere MQ V7 IBM Certified Deployment Professional – Business Process Manager Advanced V7.5 IBM Certified Solution Advisor – Cloud Computing Architecture V3 IBM Certified Solution Developer – WebSphere Portal V5.1
This entry was posted in WCM, WebSphere Portal. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s