Portlet Con JSF

De Dos Ideas.
Saltar a: navegación, buscar

Para programar un portlet con JavaServer Faces es necesario realizar algunos cambios. En primer lugar, ya no tendremos una clase propia que extiende de GenericPortlet sino que se utilizará una clase que funciona como puente entre el portal y JSF. Este JSF Portlet Bridge se declara en la configuración portlet.xml.

En la configuración se especificará cuáles serán las tres páginas iniciales para el modo de VIEW, EDIT y HELP del portlet.

Estas páginas estarán programadas con JSP y JSF y al igual que con JSF utilizaremos BackingBeans para la lógica y el xml faces.xml para definir la navegación.

Ejemplo

Para este ejemplo usaremos el bridge jsf-portlet.jar.

En el portlet.xml debemos setear el portlet class con FacesPortlet (pertenece al bridge) y setear atributos de incializacion para indicar que paginas son las de view, edit y help.

<?xml version="1.0" encoding="UTF-8" ?> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">

   <portlet>
       <description>Demo de portlet con jsf y spring</description>
       <portlet-name>BlahJsfPortlet</portlet-name>
       <display-name>Blah JSF Portlet - Frases en secuencia</display-name>
       <portlet-class>com.sun.faces.portlet.FacesPortlet</portlet-class>   
       <init-param>
           <description>Portlet init page</description>
           <name>com.sun.faces.portlet.INIT_VIEW</name>
           <value>/WEB-INF/jsp/blah.jsp</value>
       </init-param>
       <init-param>
           <description>Portlet edit page</description>
           <name>com.sun.faces.portlet.INIT_EDIT</name>
           <value>/WEB-INF/jsp/edit.jsp</value>
       </init-param>
       <init-param>
           <description>Portlet Help page</description>
           <name>com.sun.faces.portlet.INIT_HELP</name>
           <value>/WEB-INF/jsp/help.jsp</value>
       </init-param>


       <supports>
           <mime-type>text/html</mime-type>
           <portlet-mode>VIEW</portlet-mode>
           <portlet-mode>EDIT</portlet-mode>
           <portlet-mode>HELP</portlet-mode>
       </supports>
       <resource-bundle>com.test.messages</resource-bundle>
       <portlet-info>
           <title>Blah jsf Portlet - Frases en secuencia</title>
           <short-title>Blah Jsf Portlet</short-title>
       </portlet-info>
   </portlet>

</portlet-app>

Ver también