LIFERAY 6.docx

35
LIFERAY 6.2 INTRODUCCIÓN Bienvenido a un tutorial de Liferay encaminado a una ruta de aprendizaje. Donde se mostrarán cómo crear potentes aplicaciones robustas, utilizando herramientas, marcos, y las API de Liferay. Las primeras secciones serán de aprendizaje. El aprendizaje estará encaminado a través del desarrollo de una aplicación con un ejemplo específico de principio a fin, comenzando con la instalación del entorno de desarrollo y terminando con un ejemplo de aplicación completamente funcional. Se llaman guías de aprendizaje porque están diseñadas para ser seguido de principio a fin y para abarcar varios temas a lo largo del tutorial; por lo tanto, se consideran ideal para empezar con el desarrollo de Liferay. En la actualidad, las líneas de formación más vistas son: Aplicación con MVC Liferay. Aplicación JSF usando Liferay Faces. Desarrollo de temas con Liferay. Aplicación Android para un portal Liferay. En lugar de los múltiples temas que abarca un camino de aprendizaje requiere para producir una aplicación de ejemplo específico, tutoriales ir más a fondo sobre temas individuales, y no dan un ejemplo de aplicación completa. Aunque tutoriales también contienen código de ejemplo, este código es general y está diseñado para darle la información que necesita en sólo los temas de su elección. A continuación, puede aplicar esto a sus aplicaciones Liferay propia personalizados. Esto hace tutoriales más adecuado para aquellos con cierta experiencia en el desarrollo de Liferay. Los tutoriales abarcan las siguientes tres áreas principales: El uso de herramientas de desarrollo de Liferay Desarrollo de aplicaciones de Liferay Estilos y personalización de Liferay

Transcript of LIFERAY 6.docx

Page 1: LIFERAY 6.docx

LIFERAY 6.2

INTRODUCCIÓNBienvenido a un tutorial de Liferay encaminado a una ruta de aprendizaje. Donde se mostrarán cómo crear potentes aplicaciones robustas, utilizando herramientas, marcos, y las API de Liferay. Las primeras secciones serán de aprendizaje.  El aprendizaje estará encaminado a través del desarrollo de una aplicación con un ejemplo específico de principio a fin, comenzando con la instalación del entorno de desarrollo y terminando con un ejemplo de aplicación completamente funcional.  Se llaman guías de aprendizaje porque están diseñadas para ser seguido de principio a fin y para abarcar varios temas a lo largo del tutorial;  por lo tanto, se consideran ideal para empezar con el desarrollo de Liferay.  En la actualidad, las líneas de formación más vistas son:

Aplicación con MVC Liferay.

Aplicación JSF usando Liferay Faces.

Desarrollo de temas con Liferay.

Aplicación Android para un portal Liferay.

En lugar de los múltiples temas que abarca un camino de aprendizaje requiere para producir una aplicación de ejemplo específico, tutoriales ir más a fondo sobre temas individuales, y no dan un ejemplo de aplicación completa.  Aunque tutoriales también contienen código de ejemplo, este código es general y está diseñado para darle la información que necesita en sólo los temas de su elección.  A continuación, puede aplicar esto a sus aplicaciones Liferay propia personalizados.  Esto hace tutoriales más adecuado para aquellos con cierta experiencia en el desarrollo de Liferay. Los tutoriales abarcan las siguientes tres áreas principales:

El uso de herramientas de desarrollo de Liferay

Desarrollo de aplicaciones de Liferay

Estilos y personalización de Liferay

En primer lugar, tenga en cuenta las herramientas Liferay ofrece para hacer su trabajo más fácil.

Page 2: LIFERAY 6.docx

El uso de herramientas de desarrollo de LiferayDado que muchos desarrolladores que vienen a Liferay ya cuentan con un conjunto de herramientas que utilizan, estos tutoriales suponen que están utilizando uno de los tres entornos comunes: entorno de línea de comandos 1) basado en Ant Una que se integra con una amplia variedad de herramientas, 2) La IDE fácil de usar Liferay que minimiza la curva de aprendizaje mientras que le da características de desarrollo de gran alcance, y 3) Maven, un sistema de gestión de proyectos ampliamente adoptado. El Desarrollo Network Liferay ofrece vías de formación y tutoriales que te enseñan cómo utilizar estos tres entornos.

Si no te gusta Eclipse (que Liferay IDE se basa en) y prefiere utilizar NetBeans, IntelliJ IDEA, o alguna otra cosa, que sin duda puede.  Liferay código puede escribirse en cualquier forma de código Java está escrito.

Aquí hay algunos enlaces a las instrucciones sobre las herramientas de desarrollo Liferay:

A partir del desarrollo de Liferay

Desarrollar con el SDK de plugins

Desarrollando con Liferay IDE

Desarrollar con Maven

Desarrollo de aplicaciones de LiferayComo desarrollador que quiera ejecutar sus propias aplicaciones en la parte superior de Liferay Portal, es probable que desee saber  cuál es la mejor y más rápida manera de hacerlo Liferay soporta dos principales, basados en estándares tecnologías para la incorporación de sus aplicaciones en Liferay: Portlets y gadgets Open Social. Portlets se pueden escribir con cualquiera de los marcos web en Java que apoyan el desarrollo de portlets, incluyendo marco de Liferay MVC portlets y JavaServer ™ Faces (JSF).

A medida que escribe aplicaciones, usted querrá aprovechar los marcos de gran alcance que funcionan a la perfección con Liferay y le ayudan a completar su aplicación más rápida. Liferay contiene varios marcos que le dan todas las herramientas que necesita para realizar varias tareas comunes que usted no desea escribir usted mismo, tales como permisos de manejo y permitiendo a los usuarios introducir comentarios, categorías y etiquetas.

Además de los marcos de Liferay, querrá echa un vistazo a los potentes librerías de etiquetas y componentes de interfaz de usuario elegantes que  AlloyUI  y Liferay UI Taglibs  proporcionan.

Page 3: LIFERAY 6.docx

Empieza a aprender a desarrollar aplicaciones para Liferay:

Escribir la primera aplicación

MVC portlets

Faces Liferay

OpenSocial Gadgets

Estilos y personalización de Liferay¿Qué pasa si usted quiere cambiar la carcasa de Liferay o personalizarlo?  Crear temas y personalizaciones es fácil en Liferay.

Estos son algunos buenos tutoriales para empezar:

Temas y plantillas de diseño

Personalización de Liferay Portal

Ahora que ya sabe lo que los artículos aquí ofrecen, es el momento de descubrir cosas nuevas a medida que desarrolla sitios en Liferay.

ESCRIBIENDO UNA APLICACIÓN MVC LIFERAY

Una manera popular para desarrollar aplicaciones Liferay es utilizar el patrón Modelo Vista Controlador (MVC). Si eres un desarrollador probado en combate, es probable que esté familiarizado con MVC. Para hacer las cosas más simples, Liferay ha desarrollado su propio marco MVC.  Es posible que ahora esté pensando, ¿más simple? ¿De qué otra implementación MVC hacer las cosas más simples? ¡Estoy cansado de marcos redundantes! "Framework MVC de Liferay, sin embargo, ofrece muchos beneficios de ahorro de tiempo que optimizan el desarrollo de Liferay. A diferencia de muchas implementaciones de Java MVC, que es un marco ligero. También oculta parte de la complejidad de portlets y hace que las operaciones comunes más fácil. Lo que, es más, los propios desarrolladores de Liferay lo utilizan para desarrollar portlets.  Esto significa que hay muchos ejemplos robustos para hacer referencia a cuando se necesita para diseñar o solucionar sus aplicaciones. Liferay también proporciona herramientas que permite crear aplicaciones MVC Liferay un broche de presión.  Que da gusto saber que el aprendizaje y el uso de Liferay MVC le ahorra tiempo a lo largo tratando de poner en práctica su aplicación con una aplicación MVC diferente.

Page 4: LIFERAY 6.docx

A continuación, vamos a usar Liferay MVC para desarrollar un portlet Liferay de principio a fin. Esto incluye la instalación de herramientas de desarrollo de Liferay, la generación de su capa de persistencia, la integración con características Liferay como la búsqueda e indexación, la generación de servicios a distancia, y mucho más.

A PARTIR DEL DESARROLLO DE LIFERAYSi acaba de empezar con el desarrollo de Liferay, rutas de aprendizaje de Liferay son para usted. Empezamos por el principio: la instalación de un entorno de desarrollo de Liferay. Aunque se puede usar cualquier cosa, desde un editor de texto y la línea de comandos para cualquier IDE Java que está ahí fuera, Liferay proporciona dos herramientas de desarrollo que hacen que sea más fácil escribir código en la plataforma de Liferay.

Liferay IDE y Liferay Developer Studio son casi idénticos entornos de desarrollo diseñados para la creación de proyectos de Liferay. Ambos están basados en Eclipse, un IDE de código abierto ampliamente utilizado.

Si eres un suscriptor de Liferay Enterprise Edition o interesados en el entorno de desarrollo más importante de Liferay, comenzar con el desarrollo de aplicaciones con Liferay Developer Studio .

Si desea utilizar ambiente libre desarrollo de Liferay o quieren aprovechar en lo alto de una instalación Eclipse existente, saltar al  Desarrollo de aplicaciones con Liferay IDE .

Nota: Para seguir rutas de formación de Liferay, debe tener una instancia de Liferay Portal 6.2 instalada. También debe tener instalado el JDK Java 7.

DESARROLLO DE APLICACIONES CON LIFERAY DEVELOPER STUDIO

Para desarrollar una aplicación, se necesita un entorno de desarrollo.  Liferay ofrece un gran ambiente con Liferay Developer Studio.

Vamos a instalar el entorno de desarrollo de Liferay.

1. Descargar e instalar el JDK de Java 7 . Liferay se ejecuta en Java, por lo que

necesita para instalarlo antes de todo lo demás.

2. Descargar Liferay Developer Studio. Su instalación es fácil: descomprimir en

una ubicación conveniente en su sistema.

Page 5: LIFERAY 6.docx

3. Poner en marcha el Developer Studio mediante la ejecución

del  DeveloperStudio  ejecutable.

4. El asistente de arranque inicial aparece al lado.  Esto le lleva a través del

proceso de conseguir instalado el tiempo de ejecución de Liferay Portal.  La

forma más rápida de hacerlo es con los valores predeterminados:

Configurar dejar Liferay Portal EE incluido con la instalación Estudio marcada

y haga clic en Siguiente

5. Busque y seleccione la clave de activación proporcionada por Liferay y haga

clic en Siguiente.

6. Aunque los buques Liferay Portal con una base de datos integrada, como

desarrollador, usted querrá usar una base de datos se puede consultar

mediante sus propias herramientas. Por esta razón, la siguiente página le

permite conectar el motor de ejecución Liferay a cualquier base de datos

compatible con Liferay. Crear la base de datos en el DBMS de elección

antes de completar este paso. Tenga en cuenta que cuando finalice el

asistente, puede que tenga que copiar el controlador JDBC de la base de

datos en el  lib/ext  carpeta del haz de Liferay que se incluye con

Developer Studio. Cuando haya terminado, haga clic en Siguiente.

7. A continuación, se puede conectar a Javadocs Studio y la fuente de Liferay,

para las búsquedas de código y para ayudar a la depuración.  Vaya a la

Javadocs o pega la URL a donde están almacenados online (en la

foto). Para la fuente, puede apuntar a un .zip descargado del código fuente o

una versión desprotegido de un repositorio de código.  Haga clic en Finalizar.

Page 6: LIFERAY 6.docx

Figura 1: El asistente de arranque inicial hace que sea fácil de configurar el tiempo de ejecución

que se incluye con Liferay Developer Studio.

Page 7: LIFERAY 6.docx

Figura 2: El señalar Estudio de la fuente Javadocs y Liferay puede ayudar con la depuración de su código.

Después de esto, el asistente, ya tiene un entorno de desarrollo totalmente configurado, listo para empezar a trabajar.

Si usted no tiene una clave de activación edición Liferay empresa o si desea utilizar una instalación existente de Eclipse, continúe con el siguiente tutorial sobre el

Page 8: LIFERAY 6.docx

desarrollo de aplicaciones con Liferay IDE.  De lo contrario, puede empezar a escribir su primera solicitud de Liferay  .

DESARROLLO DE APLICACIONES CON LIFERAY IDE

Para desarrollar una aplicación, se necesita un entorno de desarrollo.  Liferay ofrece un gran ambiente con Liferay IDE.

Liferay IDE es un plugin para Eclipse que trae muchas características Liferay-específicos para la tabla. Se puede instalar en su entorno de Eclipse existente, o Liferay proporciona una versión incluida.

OPCIÓN 1: INSTALAR EL LIFERAY IDE BUNDLE1. Descargar e instalar Java  . Liferay se ejecuta en Java, por lo que se necesita

para ejecutar todo lo demás. Puesto que va a desarrollo de aplicaciones para

Liferay Portal en Liferay IDE, se requiere que el Java Development Kit (JDK).  Es

una versión mejorada del entorno Java, que se utiliza para el desarrollo de

nueva tecnología Java. Puede descargar el Java SE JDK desde el

Java Descargas  página.

2. Descargar Liferay IDE . Su instalación es fácil: descomprimir en una ubicación

conveniente en su sistema.

OPCIÓN 2: INSTALAR LIFERAY IDE EN ECLIPSESi ya tiene un entorno Eclipse que está utilizando para otras cosas, es fácil añadir Liferay IDE para su instalación Eclipse existente.

1. Seleccione Ayuda → instalar nuevo software.

2. En su navegador, vaya a la Liferay IDE  página. Copiar la URL para el sitio de

actualización que le interesa.

Page 9: LIFERAY 6.docx

Figura 3: Liferay ofrece dos sitios de actualización: establo para los que quieren un entorno

bien probado, y un hito para los que como la punta de lanza.

3. Volver a Eclipse y haga clic en el botón Añadir para añadir un repositorio.

4. Escriba Liferay IDE en el campo Nombre y pegar la URL en el campo Ubicación.

5. Verás los componentes IDE Liferay en la siguiente lista.  Marcarlas una vez y

haga clic en Siguiente.

6. Aceptar los términos de los acuerdos y haga clic  en Siguiente y, Liferay IDE

está instalado. Al igual que otros plugins de Eclipse que tendrá que reiniciar

Eclipse para que pueda.

OPCIÓN 3: INSTALAR LIFERAY IDE EN ECLIPSE DESDE UN ARCHIVO ZIPPara instalar Liferay IDE en Eclipse desde un  .zip  archivo, siga estos pasos:

1. Ir a la Liferay IDE  página de descargas. Bajo otras descargas, seleccione la

opción Liferay IDE [versión] Actualización de Archivo del sitio  y haga clic

en Descargar.

2. En Eclipse, vaya a Ayuda → Instalar nuevo software ....

Page 10: LIFERAY 6.docx

3. En el cuadro de diálogo Añadir sitio, haga clic en el botón Archivo y busque la

ubicación de la Liferay IDE descargado  .zip  archivo.

4. Verás los componentes IDE Liferay en la siguiente lista.  Marcarlas una vez y

haga clic en Siguiente.

5. Aceptar los términos de los acuerdos y haga clic  en Siguiente y, Liferay IDE

está instalado. Al igual que otros plugins de Eclipse que tendrá que reiniciar

Eclipse para que pueda.

LA CREACIÓN DE HERRAMIENTAS DE DESARROLLO DE LIFERAY

Liferay IDE necesita un tiempo de ejecución de Liferay Portal en el que ejecutar y depurar código. Bajo el capó, que también trabaja con Plugins SDK de Liferay, un entorno de desarrollo, línea de órdenes que puede usar con cualquier editor de texto o IDE. Debido a esto, su siguiente tarea es conseguir que ambos instalado.

1. Instalar un tiempo de ejecución de Liferay Tomcat  que va a utilizar en el entorno

de desarrollo para ejecutar las aplicaciones.  Esto es tan fácil como instalar

Liferay IDE: descomprimirlo en su sistema. Se recomienda crear una

bundles  carpeta y descomprimir allí.

2. Instalar el SDK de plugins  . Plugins SDK de Liferay es un entorno de desarrollo

básico, de línea de comandos impulsado que el IDE utiliza entre bastidores para

gestionar sus proyectos de Liferay. Esto es tan fácil como instalar todo lo

demás: descomprimirlo en su sistema. Recomendamos descomprimirlo al lado

de los  bundles carpeta que ha creado en el último paso.

Figura 2: La estructura de directorios para el desarrollo de Liferay es bastante simple.

Cuando haya terminado de instalar todo, usted debe tener una estructura de carpetas como la de arriba. Después, usted necesita para obtener todos estos componentes que hablan entre sí. IDE lanzamiento.

Page 11: LIFERAY 6.docx

1. Uso Ventana → → Abrir perspectiva Liferay para cambiar a la perspectiva de

Liferay.

2. La pestaña de la esquina inferior izquierda está etiquetando servidores. Haga

clic en el enlace para crear un nuevo servidor.

Figura 3: La ficha Servidores tiene ningún servidor por defecto.

3. En el cuadro de diálogo que aparece, seleccione el servidor que coincide con el

tiempo de ejecución ha descargado e instalado. Haga clic en Siguiente.

Page 12: LIFERAY 6.docx

Figura 4: Seleccionar el tiempo de ejecución del servidor de Liferay que ha

descargado.

4. Vaya a la carpeta Tomcat dentro del tiempo de ejecución y haga clic

en Finalizar.

Ahora es el momento para iniciarlo. Seleccione el tiempo de ejecución y haga clic en el botón verde Reproducir. Liferay pone en marcha dentro de su IDE.  Por cierto, que podría haber hecho clic en el botón del insecto, y que habría comenzado Liferay en modo de depuración.

Page 13: LIFERAY 6.docx

Cuando se inicia Liferay, la ventana de la consola debe mostrar  INFO: Server

startup in xxx ms . Vaya a su navegador y escriba http://localhost:8080  . En una

instalación nueva, esto demuestra asistente de configuración de Liferay Portal.  Si desea conectarse a una base de datos Liferay separada como MySQL, PostgreSQL, o similar, puede configurar aquí. Si desea iniciar rápidamente, la base de datos integrada está muy bien para el equipo local (pero no está optimizado para la producción, por lo que no lo utilizan allí).  Asegúrese de desactivar la casilla de Agregar datos de la muestra y, a continuación, haga clic en Configuración en Finalizar.

A continuación, obtener para establecer la contraseña administrativa.  Seguir adelante y hacer que (la contraseña liferay hace muy bien), responde a la pregunta de seguridad, y ya está.

Su tiempo de ejecución ya está configurado. A continuación, debe registrar su SDK de plugins.

1. Seleccione Ventana → Preferencias → → Liferay instalados SDK Plugin.

2. Haga clic en Agregar. Vaya a la carpeta donde ha descomprimido el SDK de

plugins y haga clic en OK.

3. Haga clic en Aceptar de nuevo.

ESCRIBIR SU PRIMERA APLICACIÓN LIFERAY

Introducción a su primera aplicación Liferay toma sólo unos minutos.  Le guiaremos a través del proceso paso a paso de crear su proyecto e implementación de la aplicación de Liferay. Antes de que usted lo sepa, usted tendrá su aplicación desplegada junto a una de las aplicaciones que vienen con Liferay.

Su primera aplicación es simple: usted construirá una aplicación de libro de visitas que tiene este aspecto:

Figura 1: Vamos a crear esta sencilla aplicación.

Page 14: LIFERAY 6.docx

De forma predeterminada, muestra mensajes de su libro de visitas que varios usuarios han dejado en su sitio web. Para añadir un mensaje, hacer clic en el botón Añadir entrada para mostrar una forma que puede utilizar para introducir y guardar un mensaje.

CREACIÓN DE SU PRIMERA APLICACIÓN LIFERAY

Ahora que todo está configurado, vamos a saltar a la derecha y crear su primer proyecto. Aplicaciones en Liferay Portal se denominan módulos de función, por lo que vamos a crear un proyecto de portlet.

1. Seleccione Archivo → Nuevo → Proyecto Plugin Liferay. Aparece a continuación

el cuadro de diálogo.

2. Rellene el nombre del proyecto y el nombre mostrado.  Hacer el nombre del

proyecto libro de visitas que portlets y el nombre para mostrar Libro de visitas.

3. Desactive la opción Incluir código de ejemplo.

4. Compruebe lanzamiento Asistente de nuevo después de la creación de portlets

proyecto.

5. Cuando haya terminado, haga clic en Finalizar.

Nota: La primera vez que se crea un proyecto, asegúrese de que esté en línea para

que se descarguen los plugins necesarios de Liferay.  

Su proyecto ahora aparece en el Explorador de paquetes a la izquierda.  Lo que acabas de hacer es crear un proyecto de Liferay en blanco.  Los proyectos pueden tener cualquier número de aplicaciones (denominadas portlets) en ellos. Su próximo paso es crear el portlet, que el Asistente para nuevo portlets le ayuda a hacerlo.

Page 15: LIFERAY 6.docx

Figura 2: nuevo asistente de proyectos Liferay IDE / Developer Studio hace que

sea fácil crear proyectos de Liferay.

Page 16: LIFERAY 6.docx

Figura 3: El asistente Nueva portlets se puede utilizar en cualquier momento para crear portlets en proyectos.

1. Para la clase de portlets, introduzca el nombre  GuestbookPortlet .

2. Todas las clases de Java deben estar debidamente espacio de nombres para

evitar conflictos con otras clases que podrían tener nombres similares.  Para el

paquete de Java, introduzca  com.liferay.docs.guestbook.portlet .

3. Haga clic en Finalizar.

Liferay IDE / Developer Studio crea la clase de portlet en el paquete adecuado en el  src  carpeta y crea una nueva estructura de carpetas para los archivos JSP de la

aplicación. A continuación, se abre la clase de portlets en un editor.

Page 17: LIFERAY 6.docx

¿QUÉ ES UN PORTLET?Cuando acceda a un sitio web, que interactúa con una aplicación.  Esta solicitud puede ser simple: sólo se puede mostrar información, como por ejemplo un artículo. La aplicación puede ser compleja: se le puede hacer sus impuestos en línea, insertando un montón de datos en una aplicación que calcula si se debe o se le debe un reembolso. Estas aplicaciones se ejecutan en una plataforma que proporciona a los desarrolladores de aplicaciones los bloques de construcción que necesitan para hacer que las aplicaciones.

Figura 4: Muchas aplicaciones Liferay pueden ejecutar al mismo tiempo en la misma página.

Liferay Portal es una plataforma, y sus aplicaciones son llamadas  portlets. Una diferencia entre una aplicación de Liferay y una aplicación construida en otra plataforma es que Liferay Portal puede servir para muchas aplicaciones al mismo tiempo en la misma página. Por lo general, una aplicación web ocupa toda la página, y si lo desea, puede hacer esto con Liferay también.  Pero Liferay tiene la

Page 18: LIFERAY 6.docx

ventaja añadida de ser capaz de ejecutar muchas aplicaciones en la misma página. Por esta razón, usted encontrará que el marco tiene esto en cuenta a cada paso. Estamos diciendo esto desde el principio, porque vas a estar experimentando esto pronto, y queremos que sepan por qué ciertas cosas, como las URL generada de plataforma, son necesarias.

Con todo esto dicho, lo siguiente que hay que hacer es entrar y crear su portlets Libro de visitas.

ADICIÓN DE VISITAS ENTRADASUna aplicación de libro de visitas que es bastante simple, ¿verdad?  La gente viene a su sitio, escriba su nombre y un mensaje breve, y luego enviar por usted.  Los usuarios pueden leer las entradas que otros publican, y se pueden agregar entradas a sí mismos.

La primera cosa que, por lo tanto, lo que necesitamos es una página de destino que muestra las entradas y que tiene un botón en él que permite a los usuarios añadir una entrada. Esta página fue creada cuando se creó el proyecto: lo encontrará en el  /docroot/html/guestbook  carpeta de su proyecto. Se llama  view.jsp . Abrir

este archivo.

Usted verá que hay un cierto contenido en ella ya: Liferay IDE genera un portlet muestra completamente funcional, pero lo único que hace es mostrar el mensaje que se ve en la  view.jsp  archivo. Vamos a darle algunas funciones mediante la

adición de un botón que dice Añadir entrada.

1. Abrir los fragmentos de pestaña en el lado derecho de Liferay IDE, y ampliar la

categoría Taglib importaciones.

2. Arrastre el fragmento marcado Liferay AUI Taglib importación v6.1 fragmento de

la zona de la línea por debajo de la importación taglib existente

en  view.jsp . No se preocupe por el número de versión de Liferay en el título

fragmento: la importación se cambió para la versión 6.1, y es válido para las

versiones Liferay el futuro. El código siguiente se agrega a  view.jsp :

<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>

Esto declara que queremos utilizar etiquetas AlloyUI de Liferay.

3. A continuación, quite el mensaje predeterminado en el JSP.

4. Abra la categoría fragmento Liferay AUI Taglib y arrastre el fragmento

marcado botón de fila en la parte inferior de la página. Un cuadro de diálogo

aparece pidiendo la  cssClass  atributo. Tipo  guestbook-buttons  para este

valor, pulse Enter y haga clic en Insertar.

Page 19: LIFERAY 6.docx

Figura 5: Inserción de fragmentos es muy fácil usando el cuadro de diálogo, o puede hacerlo en el código manualmente.

Usted está casi listo para agregar el botón dentro de la fila de botones, pero tal como se sugirió anteriormente, habría que hablar de las URLs generadas por el sistema, ya que se necesita una URL para asignar al botón.

La generación de direcciones URL para portletsDesde portlets están diseñados para ser colocados en las páginas por parte del usuario final, y los usuarios finales pueden colocar varios portlets en una página, y usted como el desarrollador no tiene idea de lo que otros portlets compartirán una página con los suyos, ¿saben qué? No se puede definir direcciones URL para distintas funciones en su aplicación como puede ser usado para.  ¿Por qué? Un simple ejemplo debe explicar.

Page 20: LIFERAY 6.docx

Digamos que usted ha escrito una aplicación de calendario que un usuario ha colocado en la misma página como una aplicación de blog.  El Calendario permite al usuario añadir y borrar eventos. El blog permite al usuario añadir y borrar las entradas de blog. Para implementar la funcionalidad para eliminar, tanto los desarrolladores de aplicaciones elegidas para anexar el parámetro  del que la URL, y darle un valor de clave principal por lo que la aplicación puede ir a buscar el evento del calendario o de la entrada de blog y eliminarlo.

Dado que ambas aplicaciones leen este parámetro, cuando un usuario utiliza la función de eliminación, ya sea en uno de ellos, tanto en aplicaciones intenta eliminar ya sea un evento de calendario o una entrada de blog que coincide con el ID dado. En otras palabras, las aplicaciones están chocando debido a que utilizan el mismo parámetro URL.URL generada por el sistema están diseñados para evitar que esto suceda. La creación de un sistema de dirección URL generada es fácil.

1. Hacer espacio dentro de la  <aui:button-row>  etiqueta; se le pone la etiqueta

URL allí.

2. De la categoría fragmento de portlets Taglib, arrastre la etiqueta renderURL al

espacio que acaba de hacer dentro de la  <aui:button-row>  etiqueta. Un

cuadro de diálogo aparece pidiendo que introduzca valores para varios atributos

de etiqueta.

3. El único atributo que necesita en este momento es la   var  atributo. Para este

atributo, introduzca el valor addEntryURL. Estás creando una variable para

contener la URL generada. Haga clic en Insertar.

4. Hacer espacio dentro de la  <portlet:renderURL>  etiqueta de modo que usted

puede agregar otra etiqueta en su interior.

5. Arrastre la etiqueta param en el  <portlet:renderURL>  etiqueta. Un cuadro de

diálogo aparece pidiéndole que introduzca los valores de dos atributos de

etiqueta.

6. Para obtener el nombre, introduzca mvcPath. Para el valor,

introduzca /html/guestbook/edit_entry.jsp. Pulse la tecla Enter. Haga clic

en Insertar.

Al golpear en Finalizar en lugar de Siguiente cuando creó este portlet, que indicó que aceptó el marco de portlet por defecto, que es de Liferay MVC portlets.  Para navegar a otra página en su aplicación de módulo, se utiliza el parámetro  mvcPath  para indicar un enlace a esa página. Que acaba de crear un  renderURL  que une a otro JSP en la aplicación, y ahora se puede utilizar un

botón los usuarios pueden hacer clic (o cualquier otra construcción HTML que acepta un enlace) con esa URL. Ese es el siguiente paso.

Page 21: LIFERAY 6.docx

Creación de un botónCreación de un botón es tan fácil como crear la URL era.  Así, arrastra el fragmento adecuado para el botón a la ubicación correcta en su página, al igual que lo hizo para las otras etiquetas.

1. Dentro de la etiqueta   <aui:button-row>   pero fuera de la

etiqueta  </portlet:renderURL> , arrastre y suelte el botón del fragmento de la

categoría de Liferay AUI Taglib. Un cuadro de diálogo aparece pidiendo que

introduzca valores para varios atributos de etiqueta.

2. Para el  onClick  atributo, introduzca el texto  <%=addEntryURL.toString()

%> . Este código suministra la  String de valor del objeto URL que ha creado

con el  <portlet:renderURL  etiqueta. Ver cómo se utiliza la  var  atributo en

esa etiqueta para así tener una variable para la URL.  Esto es por lo que podría

referirse a ella aquí.

3. Para el  value  atributo, introduzca Añadir entrada como el texto. Esto es lo que

aparece en el botón. Haga clic en Insertar.

En este punto, usted debe tener el código similar a esto:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>

<portlet:defineObjects />

<aui:button-row cssClass="guestbook-buttons">

<portlet:renderURL var="addEntryURL">

<portlet:param name="mvcPath" value="/html/guestbook/edit_entry.jsp"></portlet:param> </portlet:renderURL>

<aui:button onClick="<%= addEntryURL.toString() %>" value="Add Entry"></aui:button> </aui:button-row>

Guarde su trabajo utilizando el botón en la barra de herramientas o pulsando  Ctrl-S. Ahora es un buen momento para revisar su trabajo para ver si todo lo que has hecho hasta ahora está funcionando correctamente.  A medida que la imagen de abajo se describe, arrastre el proyecto desde el Explorador de paquetes y soltarlo en el tiempo de ejecución del servidor.

Page 22: LIFERAY 6.docx

Figura 6: Distribución de proyectos es un proceso de arrastrar y soltar.

Una vez que sus aplicaciones se despliega, ir a una página Liferay y haga clic en el botón Añadir (se ve como un signo más). Elija Aplicaciones y desde la categoría de muestra, arrastre la aplicación Libro de visitas a la página y suéltelo allí.  Su módulo de función es bastante escaso en este punto, pero esto es lo que tiene hasta ahora:

Figura 7: El botón no va a ninguna parte, todavía.

No haga clic en el botón: recuerde que usted no ha creado la página de los puntos de botón para aún. Todo lo que se obtiene es un error si lo hace. Por supuesto, la psicología inversa dice que usted ha hecho clic en él ya.  No se preocupe; que no romper nada. A continuación, vamos a crear la página que URL apunta a lo que la aplicación no se rompe cuando se hace clic en ese botón.

Page 23: LIFERAY 6.docx

Realización de una página con un formulario que los usuarios pueden

rellenar

En la misma carpeta que su  view.jsp  está en, crear el  edit_entry.jsp :

1. Navegue hasta  docroot/html/guestbook  y haga clic derecho en la

carpeta. Seleccione Nuevo → Archivo.

2. Nombre del archivo  edit_entry.jsp  y haga clic en Finalizar.

3. El archivo se abre en una nueva pestaña editor.  Copiar las tres primeras líneas

de  view.jsp  y pegarlos en este archivo. Es necesario para inicializar las

bibliotecas de etiquetas de nuevo debido a que vamos a usar las etiquetas de

portlets para crear URLs y las etiquetas de la aleación para crear la forma.

4. Vamos a crear dos direcciones: una para enviar el formulario y uno para volver

a la página anterior ( view.jsp ). Habrá una diferencia entre los dos, sin

embargo, que verá en un momento.

5. Como lo hacía antes, arrastre el fragmento renderURL de la categoría

fragmento de portlets Taglib en su JSP. Para el  var  atributo, el

suministro viewURL.

6. Como lo hacía antes, arrastre el fragmento param de la categoría fragmento de

portlets Taglib dentro del <portlet:renderURL  etiqueta. Hacer que

el  name  atributo mvcPath y el  value  de atributo/html/guestbook/view.jsp.

A continuación, es necesario crear una nueva dirección URL para enviar el formulario. Antes de hacerlo, alguna explicación está en orden.

El uso de acciones de portletsComo ya se ha dicho, portlets están diseñados para funcionar en una parte de una página junto a otros portlets. Debido a esto, tienen dos  fases de operación. La primera fase es la que ya has probado: se llama la fase  de procesamiento. Todo esto significa es que el portlet dibuja a sí mismo, utilizando las JSP se escribe para ella.

La otra fase se llama la fase de acción. Esta fase se ejecuta una vez, cuando un usuario activa una acción de portlet. Los lleva a cabo portlets cualquier acción que

Page 24: LIFERAY 6.docx

el usuario se activa, tales como la realización de una búsqueda o agregar un registro a una base de datos, y luego sobre la base de lo que sucedió en la acción, que se remonta a la fase de render y re-interprete a sí mismo de acuerdo con su nuevo estado después la acción.

Para guardar una entrada en el libro, que tendrá que desencadenar una acción de portlets. Para ello, vamos a crear una URL de acción.

1. De la categoría fragmento de portlets Taglib, arrastre el fragmento actionURL a

su página, después de su cierre </portlet:renderURL>  etiqueta.

2. En el cuadro de diálogo, addEntry de alimentación para el  name  de atributo

y addEntryURL para la  var  atributo. Haga clic en Insertar.

Ahora tiene las dos direcciones URL que necesita para su forma.

Creación de un formularioSu forma de libro de visitas que es bastante simple. Todo lo que necesita son dos campos: uno para el nombre de la persona que presenta la entrada y otro para la entrada en sí.

1. De la categoría fragmento Liferay AUI Taglib, arrastre la forma fragmento a su

página.

2. Para la  action  atributo, el suministro  <%= addEntryURL %> , que es el URL de

acción que acaba de crear.

3. Para el  name  atributo, dar a su forma el nombre <portlet: espacio de

nombres /> fm. Haga clic en Insertar. La <portlet:namespace />  etiqueta

inserta un valor de tiempo de ejecución único para este portlet.  Esto asegura

que el nombre del formulario en este portlet no entra en conflicto con un nombre

de formulario en otro portlet que puede estar en la página.

4. Proporcionar un poco de espacio entre su  <aui:form>  etiquetas para que

pueda agregar campos al formulario.

5. Arrastre el fragmento de campos dentro de sus  <aui:form>  etiquetas. Haga

clic en Insertar.

6. Arrastre un fragmento de entrada dentro de

sus  <aui:fieldset>  etiquetas. Para el  name  atributo, escriba el nombre, ya

que este es el campo Nombre en el formulario.

7. Arrastre otro fragmento de entrada por debajo de la última, dentro de

sus  <aui:fieldset>  etiquetas. Para el name  atributo, tipo de mensaje, ya que

este campo contiene el mensaje sale de un usuario en el libro de visitas.

Page 25: LIFERAY 6.docx

8. A continuación el cierre  </aui:fieldset>  etiqueta, arrastre el fragmento botón

de fila y haga clic en Insertar.

9. Dentro de los  <aui-button-row>  etiquetas, arrastre un fragmento

de botón. Para el  type  atributo, introduzca presentar. Haga clic en Insertar.

10. Debajo del botón que acaba de crear en Enviar, arrastre

otro botón fragmento. Para el  type  atributo, introduzca cancelar. Para

el  onClick  atributo, escriba  <%= viewURL.toString() %> . Esto proporciona la

URL render que ha creado que se remonta a la  view.jsp  página.

Guarde su JSP; Debe tener un aspecto como este:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %> <portlet:defineObjects /> <portlet:renderURL var="viewURL"> <portlet:param name="mvcPath" value="/html/guestbook/view.jsp"></portlet:param> </portlet:renderURL> <portlet:actionURL name="addEntry" var="addEntryURL"></portlet:actionURL> <aui:form action="<%= addEntryURL %>" name="<portlet:namespace />fm"> <aui:fieldset> <aui:input name="name"></aui:input> <aui:input name="message"></aui:input> </aui:fieldset> <aui:button-row> <aui:button type="submit"></aui:button> <aui:button type="cancel" onClick="<%= viewURL.toString() %>"></aui:button> </aui:button-row> </aui:form>

Al guardar la JSP, Liferay IDE re-despliega su aplicación, y si actualiza la página y hacer click en el botón Añadir entrada, aparece el formulario. Si hace clic en el botón Cancelar, funciona. No haga clic en el botón Guardar todavía, sin embargo: no se ha creado la acción que guarda una entrada en el libro, por lo que, se mostrará un error. La implementación de la acción es su siguiente tarea.

Acciones de aplicación de portletsCuando los usuarios envían el formulario, su aplicación necesita almacenar los datos del formulario para que pueda ser representada en el libro de visitas.  Para mantener esta primera aplicación sencilla, podrás implementar está utilizando una parte de la API de portlets llamada de preferencias de portlet.  Normalmente, por supuesto, tendrá que utilizar una base de datos, y Liferay hace que sea muy fácil trabajar con bases de datos utilizando su marco de servicio de generador.  Por ahora, sin embargo, puede crear la primera iteración de la aplicación usando el libro de visitas preferencias de portlets.

Para hacer su portlets hacer otra cosa que volver a hacer nada en sí, debe implementar acciones de portlets. Una acción define algún tipo de procesamiento, por lo general sobre la base de la entrada del usuario, que el portlet debe hacer

Page 26: LIFERAY 6.docx

antes de que se presten. En el caso del libro de visitas de portlets, la acción que necesita para implementar guarda una entrada en el libro de que un usuario escribe en la forma, por lo que puede ser recuperada y se muestra más adelante.

Puesto que usted está utilizando el framework MVC de portlets de Liferay, que tiene una forma fácil de implementar acciones: en la clase de portlets, que actúa como controlador. En la forma que acaba de crear, a tomar una acción URL, y lo llamaste  addEntry . Para crear una acción de portlets, se crea un método en la clase portlet con el mismo nombre, y  MVCPortlet  llama al método cuando un

usuario activa su URL coincidente.

1. Abrir  GuestbookPortlet.java . Liferay IDE genera esta clase cuando se creó el

portlet.

2. Crear un método con la siguiente firma:

public void addEntry(ActionRequest request, ActionResponse response) { }

3. Pase el cursor del ratón sobre  ActionRequest  y añadir la importación. Haga lo

mismo para  ActionResponse .

Ya ha creado una acción de portlets. No sirve de nada, pero al menos no obtendrá un error ahora si envía el formulario. A continuación, debe realizar la acción Guardar los datos del formulario.

Debido a las limitaciones de la API de preferencias de portlet, es necesario almacenar cada entrada en el libro como una  String  en una matriz de

cadenas. Puesto que usted tiene dos campos del formulario, es necesario tener un delimitador para que pueda determinar que el nombre de usuario termina y comienza la entrada en el libro. El símbolo de intercalación (^) hace un buen delimitador porque los usuarios son muy poco probables que usen este símbolo en una entrada en el libro.

Nota: Es evidente que las preferencias del portlet y delimitadores de cadenas no son la mejor forma de implementar esto. Para obtener información sobre una aplicación adecuada para guardar los datos, seguir la  Escritura de una ruta de aprendizaje de aplicaciones basadas en datos.

El siguiente método implementa la adición de una entrada en el libro a una preferencia de portlets denominado guestbook-entries :

public void addEntry(ActionRequest request, ActionResponse response) { try { PortletPreferences prefs = request.getPreferences(); String[] guestbookEntries = prefs.getValues("guestbook-entries", new String[1]); ArrayList<String> entries = new ArrayList<String>(); if (guestbookEntries != null) { entries = new ArrayList<String>(Arrays.asList(prefs.getValues( "guestbook-entries", new String[1]))); } String userName = ParamUtil.getString(request, "name"); String message = ParamUtil.getString(request, "message"); String entry = userName + "^" +

Page 27: LIFERAY 6.docx

message; entries.add(entry); String[] array = entries.toArray(new String[entries.size()]); prefs.setValues("guestbook-entries", array); try { prefs.store(); } catch (IOException ex) { Logger.getLogger(GuestbookPortlet.class.getName()).log( Level.SEVERE, null, ex); } catch (ValidatorException ex) { Logger.getLogger(GuestbookPortlet.class.getName()).log( Level.SEVERE, null, ex); } } catch (ReadOnlyException ex) { Logger.getLogger(GuestbookPortlet.class.getName()).log( Level.SEVERE, null, ex); } }

En primer lugar, las preferencias se recuperan, y luego el   guestbook-entries  se recuperan preferencia y convertidos a un  ArrayList  de modo que usted puede

añadir una entrada de forma fiable sin tener que ir fuera de los límites de la matriz. A continuación, los dos campos de formulario se recuperan.  Tenga en cuenta que de Liferay  ParamUtil clase hace esto muy fácil de hacer.

Por último, los campos se combinan en una  String  delimitada por un símbolo de intercalación, y se añade la nueva entrada a la  ArrayList , que luego se convierte

de nuevo en una matriz para que pueda ser almacenado como una preferencia.  Los bloques try / catch son requeridos por la API de preferencias de portlet.

Esta no es la forma normal de utilizar las preferencias de portlets, sino que proporciona una forma rápida y fácil para que pueda almacenar entrada de visitantes en esta primera versión de su aplicación.  También gustaría hacer el registro adecuado en caso de un error, en lugar de utilizar  System.out.println . Estas son cosas que se pueden corregir más tarde.

La función siguiente y final para poner en práctica es una manera de ver la entrada de visitantes.

VIENDO VISITAS ENTRADASPara ver entrada de visitantes, lo que tiene que hacer lo contrario de lo que hizo para almacenarlos: recuperarlos de las preferencias de portlets, en bucle a través de ellos, y presentarlos en la página. La mejor manera de hacer esto con el MVC de portlets es utilizar el paradigma Modelo-Vista-Controlador.  Ya tiene la vista (los archivos JSP) y el controlador (la clase de portlets): ahora lo que necesita su modelo.

Creación del Modelo1. Crear un nuevo paquete en su aplicación

llamada  com.liferay.docs.guestbook.model . Usted puede hacer esto

haciendo clic derecho en la carpeta de origen y

Page 28: LIFERAY 6.docx

seleccionando Nuevo → Paquete y, a continuación, proporcionando el nombre

de paquete en el cuadro de diálogo que aparece.

2. A continuación, cree la clase del modelo. Este es un simple JavaBean que

contiene una entrada en el libro. Haga clic derecho en el paquete nuevo y

seleccione Nuevo → Clase. Dar a su clase el nombre  Entry  y haga clic en

Finalizar.

Ahora tiene una clase Java para su entrada en el libro, y su siguiente tarea es darle los campos que necesite para almacenar entradas.

1. Cree dos variables de cadena privados:  name  y  message .

2. Haga clic derecho en un área en blanco del editor y selección

de fuente → Generar captadores y definidores.

3. A continuación, proporcionar dos constructores: uno que inicializa la clase con

Sin valores para los dos campos, y uno que tiene los dos campos como

parámetros y establece sus valores. Su clase completado debería tener este

aspecto:

package com.liferay.docs.guestbook.model; public class Entry { private String name; private String message; public Entry() { this.name = null; this.message = null; } public Entry (String name, String message) { setName(name); setMessage(message); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }

Ahora que tiene su modelo, que tiene una forma fácil de encapsular entrada de visitantes para que puedan ser procesados por la capa del controlador y se muestran por la capa de vista. Su próximo paso es para mejorar el controlador (la clase de portlets) a fin de que entrada de visitantes son procesados y listos para mostrar cuando los usuarios ven la aplicación libro de visitas.

Personalización de la Prestación de la AplicaciónComo se dijo antes, las aplicaciones de portlets en su más básica tienen dos fases: Procesar y de acción. Para hacer que el Libro de Oro de las entradas de visitantes guardados cuando los usuarios ven la aplicación, es necesario personalizar los portlets de render funcionalidad, que actualmente está heredando de su clase padre,  MVCPortlet .

Page 29: LIFERAY 6.docx

1. Abrir  GuestbookPortlet.java  y coloque el siguiente método debajo de

su  addEntry  método:

@Override public void render (RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException, IOException { PortletPreferences prefs = renderRequest.getPreferences(); String[] guestbookEntries = prefs.getValues("guestbook-entries", new String[1]); if (guestbookEntries != null) { List<Entry> entries = parseEntries(guestbookEntries); renderRequest.setAttribute("entries", entries); } super.render(renderRequest, renderResponse); }

Este método recupera la matriz de entrada de visitantes de las preferencias de

portlets, lo convierte en una  List de  Entry  objetos y lugares que  List  en el

objeto de la solicitud. A continuación, llama de la clase padre render  método.

2. Debajo del  render  método, coloque el siguiente método que realiza la

conversión de la matriz a una  List  de sus objetos de modelo:

private List<Entry> parseEntries (String[] guestbookEntries) { ArrayList<Entry> entries = new ArrayList(); for (String entry : guestbookEntries) { String[] parts = entry.split("\\^", 2); Entry gbEntry = new Entry(parts[0], parts[1]); entries.add(gbEntry); } return entries; }

Como se puede ver, este método divide las entradas en la   String  matriz en dos

partes basado en el símbolo de intercalación (^) carácter.

Ahora que tiene su controlador preparar los datos para su visualización, el siguiente paso es la implementación de la vista, para que los usuarios puedan ver entrada de visitantes.

Viendo Visitas EntradasEl marco de desarrollo de Liferay hace que sea fácil de bucle a través de los datos y mostrarlo adecuadamente al usuario final. Vamos a usar un componente llamado la búsqueda de contenedores para que esto suceda.

1. Abra la ficha Fragmentos en el lado derecho de Liferay IDE y expandir la

categoría Taglib importaciones.

2. Arrastre el fragmento marcado Liferay UI Taglib Importar en el área fragmento

de la línea por debajo de las importaciones taglib existentes en   view.jsp . El

código siguiente se agrega a  view.jsp :

<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

Page 30: LIFERAY 6.docx

Esto declara que desea utilizar etiquetas de interfaz de usuario de Liferay.

3. Por debajo de la  <portlet:defineObjects />  etiqueta, agregue la siguiente

etiqueta:

<jsp:useBean id="entries" class="java.util.ArrayList" scope="request"/>

Esto hace que su lista de  Entry  objetos a disposición de la página.

4. De la categoría fragmento Liferay UI Búsqueda de contenedores, arrastre el

fragmento de modelo Buscar Envase y colocarlo encima de la  <aui:button-

row cssClass="guestbook-buttons">  etiqueta.

5. En el cuadro de diálogo que aparece, haga clic en el botón Examinar y

escriba Entrada en el diálogo de búsqueda. Liferay IDE muestra todas las

instancias de una  Entry  clase en su ruta de clase. Elige el que creó en

la  com.liferay.docs.guestbook.model  paquete y haga clic en OK.

6. La clase del modelo se analiza de forma automática, y ahora se puede elegir las

columnas de propiedad que desea mostrar al usuario.  Marque las columnas de

mensaje y nombre.

7. La variable generada es  aEntry . Si quieres algo más gramaticalmente correcta,

el cambio a  entry  y, a continuación, haga clic en Finalizar.

El fragmento de la etiqueta asume que está utilizando el framework de

persistencia de Liferay, servicio de generador.  Debido a que no se está usando

eso, usted tiene que fijar una de las etiquetas.

8. Modificar el  <liferay-ui:search-container-results>  etiqueta para que

utilice su  entries  la lista:

<liferay-ui:search-container-results results="<%= entries %>" />

Su  view.jsp  debería tener este aspecto:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %> <%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> <portlet:defineObjects /> <jsp:useBean id="entries" class="java.util.ArrayList" scope="request"/> <liferay-ui:search-container> <liferay-ui:search-container-results results="<%= entries %>" /> <liferay-ui:search-container-row className="com.liferay.docs.guestbook.model.Entry" modelVar="entry" >

Page 31: LIFERAY 6.docx

<liferay-ui:search-container-column-text property="message" /> <liferay-ui:search-container-column-text property="name" /> </liferay-ui:search-container-row> <liferay-ui:search-iterator /> </liferay-ui:search-container> <aui:button-row cssClass="guestbook-buttons"> <portlet:renderURL var="addEntryURL"> <portlet:param name="mvcPath" value="/html/guestbook/edit_entry.jsp"> </portlet:param> </portlet:renderURL> <aui:button onClick="<%= addEntryURL.toString() %>" value="Add Entry"> </aui:button> </aui:button-row>

Guarde su trabajo, implementar la aplicación, y trate de añadir algunas entradas de visitantes.