Client side programming model for portlets
The client side programming Model requires a few updates to portlet JSPs...
- Add a reference for the client side programming model tag library...
<%@ taglib uri="http://www.ibm.com/xmlns/prod/websphere/portal/v6.1/portlet-client-model" prefix="portlet-client-model" %>- Declare the modules...
<portlet-client-model:init> <portlet-client-model:require module="ibm.portal.xml.*"/> <portlet-client-model:require module="ibm.portal.portlet.*"/> </portlet-client-model:init>- To reference in portlets...
<script> var <%=namespace%>_portletWindow = new ibm.portal.portlet.PortletWindow("<%=portletWindowID%>"); </script>To create the scripting variable portletWindowID for use in the JSP...
<script> function sendXPR(/*string*/url, /*Function*/callback, /*String*/errMsg ) { var xpr = <%=namespace%>_portletWindow.newXMLPortletRequest(); var me = this; xpr.onreadystatechange = function () { if (xpr.readyState == 4 ) { if (xpr.status == 200 ) { callback(xpr.responseText ); } else { <%=namespace%>_portletWindow.logError(“The request failed!”, errMsg ); } } }; xpr.open("GET", url ); xpr.send(null ); } </script>
Parent topic
The client side portlet programming model
Related tasks
Handling portlet preferences on the client
Change portlet mode and window state on the client side
JavaScript namespacing - observing good practice
Related information
http://www.ibm.com/developerworks/websphere/library/specs/0608_wp6javadoc.html