Pour des raisons de maintenance du site, un arrêt du site aura lieu lundi 16 décembre 2019 à partir de 18H00, pour une durée estimée de 30 minutes.

Veuillez nous excuser pour les désagréments que cette opération pourrait causer.

créer des portlets qui se charge chacune a part

manel · le 18/11/19 à 08:35
Je suis en  train de communiquer avec une autre app dans chaque portlet mais le chargement de portail jsp collection est tres lent 
16 pts
Kevin Bransard - le 18/11/19 à 08:50
Meilleure réponse

Vous pouvez utiliser ajax-refresh pour déclencher le chargement de la portlet en deux temps.

Cela donnerait le code suivant : 

<div class="ajax-refresh-div ajax-lazy" data-jalios-ajax-refresh-url="types/PortletMyPlugin/doMyPortletPluginFullDisplay.jsp">
  <% if (jcmsContext.isAjaxRequest()) { %>
    <!-- After lazy load - Show real content -->
    <% for (MyContent itContent : myHandler.getResults()) { %>  
      <%= itContent %>
    <% } %>
  <% } else { %>
    <!-- Before first load - Show loading animation or loading skeleton -->
    https://css-tricks.com/building-skeleton-screens-css-custom-properties/
  <% } %>
</div>

La classe ajax-lazy présente sur la DIV permet de déclencher une requête ajax sur l'url disponible en data-attribute après que le DOM soit ready.

Voir l'exemple à ce propos : https://docs.jalios.com/jplatform10/jcms/fr/front-end/javascript/ajax-refresh/ajax-refresh-lazy-load-76235

#1

A noter qu'une issue dans notre backlog permettra de faire du lazy load de portlets directement en option dans un jportal : https://issues.jalios.com/browse/JCMS-7420

Kevin Bransard · le 18/11/19 à 08:56
10 pts
Olivier Jaquemet · le 18/11/19 à 08:42

Bonjour,

Vous pouvez modifier vos portlet pour qu'elles se chargent en différés en utilisant la mécanique d'ajax-lazy : 

https://docs.jalios.com/jplatform10/jcms/fr/front-end/javascript/ajax-refresh/ajax-refresh-lazy-load-76235

0 pt