Mostrar únicamente el contenido del portlet en Liferay

Este es un post corto, ya que es un tip.

Los portlets  tienen tres estados de ventana:
  • Minimizado (minimized)
  • Maximizado (maximized)
  • Normal (normal)
El primero hace que el portlet se muestre "cerrado", y que solo muestre el título.
El segundo hace que el portlet se muestre en toda la página web del portal.
El tercero es el común: se muestra dentro del diseño del portal.

Pero estos tres estados tienen algo en común: muestra el portlet dentro del diseño del portal, incluyendo sus javascript, los diseños, la cabecera, su theme, etc etc etc. Está muy bien si lo que queremos es mostrar todo el look&feel del portal adornando nuestro portlet.

Ahora bien: si estamos haciendo un portlet que su contenido queremos que no salga incrustado (la palabra 'embebido' suena feo en castellano) en el portal ¿cómo le hacemos?


Por ejemplo, si nuestro view.jsp tiene únicamente esto:

<h3>Hola a todos</h3>

y queremos que salga únicamente ese texto, sin ninguna decoración, debemos llamar al portlet con el estado de ventana "exclusive"

¿Para qué nos serviría? Por ejemplo, nos puede ser útil como respuestas para peticiones ajax, que queremos que se procese en el portlet, y que la respuesta está preparada en un .jsp del portlet.
<a href="javascript:mostrarListado()" > Clic aquí para mostrar el Listado </a>

<div id="listado">Aquí se mostrará el listado</div>

<liferay-portlet:renderURL windowState="exclusive" var="url">
   <liferay-portlet:param name="jspPage"
                          value="/html/miportlet/resultado.jsp" />

</liferay-portlet:renderURL>

<script type="text/javascript">
    function mostrarListado(){
      jQuery.get('<%=url%>',function(data){
        $("#listado").html(data);
      });
    }
</script>

Y el contenido de resultado.jsp es un jsp que quieran.

 Espero que les sea de utilidad!

Comentarios

Entradas más populares de este blog

UML en NetBeans

Cambiar ícono a un JFrame

RESTful... la forma más ligera de hacer WebServices (Parte 1)