El proyecto realizado de ejemplo se encuentra como fichero adjunto: ejemplo.zip
Creación del proyecto en Eclipse
Crearemos un proyecto tipo "Maven Project":
Buscaremos los arquetipos de maven para liferay y seleccionaremos liferay-portlet-archetype
Estructura del proyecto
Esta es la estructura mínima que debe tener un proyecto de un portlet para Liferay:
La organización será la siguiente:
Clases java. Irán dentro del paquete src/main/java
Resources. Si existieran resources deberían estar en src/main/resources
XHTMLs. Irán dentro de src/main/webapp
Fichero de contexto y de configuración para Liferay. Irán dentro de src/main/webapp/WEB-INF
Configuración del proyecto en Eclipse
Hay varias cosas que comprobar después de generar el proyecto de eclipse.
La primera es "Deployment Assembly" donde deberíamos tener 3 source como en la imagen:
La siguiente cosa que debemos comprobar es "Java Build Path" donde debemos tener la librería de JRE de desarrollo que esté instalada en nuestro equipo y la Maven Dependencies:
En "Project Facets" debemos modificar varios checks :
Dynamic Web Module. Versión 2.5
Java. Version 6.0
JavaScript. Versión 1.0
JavaServer Faces. Versión 2.0
Todos los demás checks deben estar sin chequear.
Y por último, dentro de Project Facets - Java Server Faces debemos seleccionar el tipo "Disable Library Configuration":
Dependencias Maven
Dependencias maven necesarias para el proyecto del portlet:
Spring mvc: spring-webmvc-portlet spring-beans spring-web spring-tx jstl portlet-api
Dependencias liferay: portal-service util-java util-bridges
Dependencias portlets: portlet-api
Dependencias JSF 2 en Liferay: portletfaces-bridge
Dependencias JSF 2 y PrimeFaces: primefaces jsf-api jsf-impl jboss-el
Dependencias temas PrimeFaces --> redmond
Se ha subido como ejemplo un pom.xml, un.classpath y un .project del ejemplo generado.
Configuración de contexto y de ficheros del portlet liferay
El fichero de contexto en principio será muy pequeño, debido a que utilizaremos anotaciones para definir los controladores.
Si miramos el applicationContext.xml veremos que solo declaramos la configuración para poder utilizar las anotaciones de spring.
Para definir un portlet de liferay hay que modificar los siguiente ficheros:
portlet.xml. Declaramos el nombre del portlet de cara a Liferay y definimos la clase del portlet y los xhtml que utiliza.
liferay-portlet.xml. Se instancia el portlet que hemos creado en portlet.xml
liferay-display.xml. Se define en qué categoría mostraremos nuestro portlet en el menú de portlets de Liferay
faces-config.xml. Debe existir para evitar errores de Liferay pero no hace falta definir nada en este fichero.
Clase MiController.java
Esta clase será nuestro controlador. Tiene implementar la interfaz Serializable y debe tener las siguientes anotaciones:
@ManagedBean(name = "miController")
@SessionScoped
Asi definiremos que nuestra clase es un controlador que será llamado "miController" desde los xhtml.
Ficheros de vista .XHTML
Los ficheros con los que hemos realizado los ejemplos utilizan la etiqueta "ui:composition" y la forma de acceder a los atributos del controlador es bastante sencilla, por ejemplo:
Genera una caja de texto que usará el atributo nombre de miController.
No hay comentarios:
Publicar un comentario