Client side programming model for portlets

 

+

Search Tips   |   Advanced Search

 

The client side programming Model requires a few updates to portlet JSPs...

  1. 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" %>
    

  2. 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>
    

  3. 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