Initiation au modèle de programmation côté client pour les portlets
L'initiation au modèle de programmation côté client requiert quelques mises à jour des JSP du portlet.
Procédure
- Ajoutez une référence à la bibliothèque de balises du modèle de programmation côté client :
<%@ taglib uri="http://www.ibm.com/xmlns/prod/websphere/portal/v6.1/portlet-client-model" prefix="portlet-client-model" %> - Déclarez les modules du modèle de programmation côté client que vous voulez utiliser :
Pour la liste complète des modules à utiliser avec le modèle de programmation côté client, voir la documentation de l'API publique.<portlet-client-model:init> <portlet-client-model:require module="ibm.portal.xml.*"/> <portlet-client-model:require module="ibm.portal.portlet.*"/> </portlet-client-model:init> -
Pour pouvoir travailler avec le modèle de programmation côté client dans vos portlets, utilisez l'objet
ibm.portal.portlet.PortletWindowcomme point d'entrée :<script> var <%=namespace%>_portletWindow = new ibm.portal.portlet.PortletWindow("<%=portletWindowID%>"); </script><script> dojo.addOnLoad(function() { <%=namespace%>_portletWindow = new ibm.portal.portlet.PortletWindow("<%=portletWindowID%>"); }); </script>Remarque : Utilisez la baliseportlet-client-model:initpour créer la variable de scriptportletWindowIDet l'utiliser dans le fichier JSP. L'exemple suivant montre comment démarrer une demandeXMLPortletRequest:<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>