You are on page 1of 34

LIFERAY 6.

2
INTRODUCCIN
Bienvenido a un tutorial de Liferay encaminado a una ruta de aprendizaje. Donde se
mostrarn cmo crear potentes aplicaciones robustas, utilizando herramientas,
marcos, y las API de Liferay. Las primeras secciones sern de aprendizaje. El
aprendizaje estar encaminado a travs del desarrollo de una aplicacin con un
ejemplo especfico de principio a fin, comenzando con la instalacin del entorno de
desarrollo y terminando con un ejemplo de aplicacin completamente funcional. Se
llaman guas de aprendizaje porque estn diseadas 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 lneas de
formacin ms vistas son:

Aplicacin con MVC Liferay .

Aplicacin JSF usando Liferay Faces .

Desarrollo de temas con Liferay .

Aplicacin Android para un portal Liferay.

En lugar de los mltiples temas que abarca un camino de aprendizaje requiere para
producir una aplicacin de ejemplo especfico, tutoriales ir ms a fondo sobre temas
individuales, y no dan un ejemplo de aplicacin completa. Aunque tutoriales
tambin contienen cdigo de ejemplo, este cdigo es general y est diseado para
darle la informacin que necesita en slo los temas de su eleccin. A continuacin,
puede aplicar esto a sus aplicaciones Liferay propia personalizados. Esto hace
tutoriales ms 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 personalizacin de Liferay

En primer lugar, tenga en cuenta las herramientas Liferay ofrece para hacer su
trabajo ms fcil.

El uso de herramientas de desarrollo de


Liferay
Dado que muchos desarrolladores que vienen a Liferay ya cuentan con un conjunto
de herramientas que utilizan, estos tutoriales suponen que estn utilizando uno de
los tres entornos comunes: entorno de lnea de comandos 1) basado en Ant Una
que se integra con una amplia variedad de herramientas, 2) La IDE fcil de usar
Liferay que minimiza la curva de aprendizaje mientras que le da caractersticas de
desarrollo de gran alcance, y 3) Maven, un sistema de gestin de proyectos
ampliamente adoptado. El Desarrollo Network Liferay ofrece vas de formacin y
tutoriales que te ensean cmo 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 cdigo puede
escribirse en cualquier forma de cdigo 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 Liferay


Como desarrollador que quiera ejecutar sus propias aplicaciones en la parte
superior de Liferay Portal, es probable que desee saber cul es la mejor y ms
rpida manera de hacerlo Liferay soporta dos principales, basados en estndares
tecnologas
para
la
incorporacin
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 perfeccin con Liferay y le ayudan a completar su
aplicacin ms rpida. 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, categoras y etiquetas.
Adems de los marcos de Liferay, querr echa un vistazo a los potentes libreras de
etiquetas y componentes de interfaz de usuario elegantes que AlloyUI y Liferay UI
Taglibs proporcionan.
Empieza a aprender a desarrollar aplicaciones para Liferay:
Escribir la primera aplicacin
MVC portlets
Faces Liferay
OpenSocial Gadgets

Estilos y personalizacin de Liferay


Qu pasa si usted quiere cambiar la carcasa de Liferay o personalizarlo? Crear
temas y personalizaciones es fcil en Liferay.
Estos son algunos buenos tutoriales para empezar:
Temas y plantillas de diseo
Personalizacin de Liferay Portal
Ahora que ya sabe lo que los artculos aqu ofrecen, es el momento de descubrir
cosas nuevas a medida que desarrolla sitios en Liferay.

ESCRIBIENDO UNA APLICACIN MVC


LIFERAY
Una manera popular para desarrollar aplicaciones Liferay es utilizar el
patrn Modelo Vista Controlador (MVC). Si eres un desarrollador probado en
combate, es probable que est familiarizado con MVC. Para hacer las cosas ms

simples, Liferay ha desarrollado su propio marco MVC. Es posible que ahora est
pensando, ms simple? De qu otra implementacin MVC hacer las cosas ms
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. Tambin oculta parte de la complejidad de portlets y hace que las
operaciones comunes ms fcil. Lo que, es ms, 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 disear o solucionar sus
aplicaciones. Liferay tambin proporciona herramientas que permite crear
aplicaciones MVC Liferay un broche de presin. Que da gusto saber que el
aprendizaje y el uso de Liferay MVC le ahorra tiempo a lo largo tratando de poner
en prctica su aplicacin con una aplicacin MVC diferente.
A continuacin, vamos a usar Liferay MVC para desarrollar un portlet Liferay de
principio a fin. Esto incluye la instalacin de herramientas de desarrollo de Liferay,
la generacin de su capa de persistencia, la integracin con caractersticas Liferay
como la bsqueda e indexacin, la generacin de servicios a distancia, y mucho
ms.

A PARTIR DEL DESARROLLO DE LIFERAY


Si acaba de empezar con el desarrollo de Liferay, rutas de aprendizaje de Liferay
son para usted. Empezamos por el principio: la instalacin de un entorno de
desarrollo de Liferay. Aunque se puede usar cualquier cosa, desde un editor de
texto y la lnea de comandos para cualquier IDE Java que est ah fuera, Liferay
proporciona dos herramientas de desarrollo que hacen que sea ms fcil escribir
cdigo en la plataforma de Liferay.
Liferay IDE y Liferay Developer Studio son casi idnticos entornos de desarrollo
diseados para la creacin de proyectos de Liferay. Ambos estn basados en
Eclipse, un IDE de cdigo abierto ampliamente utilizado.
Si eres un suscriptor de Liferay Enterprise Edition o interesados en el entorno de
desarrollo ms 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 instalacin Eclipse existente, saltar al Desarrollo de aplicaciones con Liferay
IDE .
Nota: Para seguir rutas de formacin de Liferay, debe tener una instancia de Liferay
Portal 6.2 instalada. Tambin debe tener instalado el JDK Java 7.

DESARROLLO DE APLICACIONES CON


LIFERAY DEVELOPER STUDIO
Para desarrollar una aplicacin, 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 dems.

2.

Descargar Liferay Developer Studio. Su instalacin es fcil: descomprimir en


una ubicacin conveniente en su sistema.
3. Poner

en

marcha

el

Developer

Studio

mediante

la

ejecucin

del DeveloperStudio ejecutable.


4. El asistente de arranque inicial aparece al lado. Esto le lleva a travs del
proceso de conseguir instalado el tiempo de ejecucin de Liferay Portal. La
forma ms rpida de hacerlo es con los valores predeterminados:

Configurar dejar Liferay Portal EE incluido con la instalacin Estudio marcada


y haga clic en Siguiente

5. Busque y seleccione la clave de activacin 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 razn, la siguiente pgina le
permite conectar el motor de ejecucin Liferay a cualquier base de datos
compatible con Liferay. Crear la base de datos en el DBMS de eleccin 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 continuacin, se puede conectar a Javadocs Studio y la fuente de Liferay,


para las bsquedas de cdigo y para ayudar a la depuracin. Vaya a la
Javadocs o pega la URL a donde estn almacenados online (en la
foto). Para la fuente, puede apuntar a un .zip descargado del cdigo fuente o
una versin desprotegido de un repositorio de cdigo. Haga clic en Finalizar.

Figura 1: El asistente de arranque inicial hace que sea fcil de configurar el tiempo de ejecucin
que se incluye con Liferay Developer Studio.

Figura 2: El sealar Estudio de la fuente Javadocs y Liferay puede ayudar con la depuracin de
su cdigo.

Despus de esto, el asistente, ya tiene un entorno de desarrollo totalmente


configurado, listo para empezar a trabajar.

Si usted no tiene una clave de activacin edicin Liferay empresa o si desea utilizar
una instalacin existente de Eclipse, contine con el siguiente tutorial sobre el
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 aplicacin, se necesita un entorno de desarrollo. Liferay ofrece
un gran ambiente con Liferay IDE.
Liferay IDE es un plugin para Eclipse que trae muchas caractersticas Liferayespecficos para la tabla. Se puede instalar en su entorno de Eclipse existente, o
Liferay proporciona una versin incluida.

OPCIN 1: INSTALAR EL LIFERAY IDE BUNDLE


1.

Descargar e instalar Java . Liferay se ejecuta en Java, por lo que se necesita


para ejecutar todo lo dems. Puesto que va a desarrollo de aplicaciones para
Liferay Portal en Liferay IDE, se requiere que el Java Development Kit (JDK). Es
una versin mejorada del entorno Java, que se utiliza para el desarrollo de
nueva

tecnologa

Java.

Puede

descargar

el

Java

SE

JDK

desde

el

Java Descargas pgina.


2.

Descargar Liferay

IDE . Su

instalacin

es

fcil:

descomprimir

en

una

ubicacin conveniente en su sistema.

OPCIN 2: INSTALAR LIFERAY IDE EN ECLIPSE


Si ya tiene un entorno Eclipse que est utilizando para otras cosas, es fcil aadir
Liferay IDE para su instalacin Eclipse existente.
1.

Seleccione Ayuda instalar nuevo software.

2.

En su navegador, vaya a la Liferay IDE pgina. Copiar la URL para el sitio de


actualizacin que le interesa.

Figura 3: Liferay ofrece dos sitios de actualizacin: 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 botn Aadir para aadir un repositorio.

4.

Escriba Liferay IDE en el campo Nombre y pegar la URL en el campo


Ubicacin.

5.

Vers los componentes IDE Liferay en la siguiente lista. Marcarlas una vez y
haga clic en Siguiente.

6.

Aceptar los trminos 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.

OPCIN 3: INSTALAR LIFERAY IDE EN ECLIPSE


DESDE UN ARCHIVO ZIP
Para instalar Liferay IDE en Eclipse desde un .zip archivo, siga estos pasos:

1.

Ir a la Liferay IDE pgina de descargas. Bajo otras descargas, seleccione la


opcin Liferay IDE [versin] Actualizacin de Archivo del sitio y haga clic
en Descargar.

2.

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

3.

En el cuadro de dilogo Aadir sitio, haga clic en el botn Archivo y busque


la ubicacin de la Liferay IDE descargado .zip archivo.

4.

Vers los componentes IDE Liferay en la siguiente lista. Marcarlas una vez y
haga clic en Siguiente.

5.

Aceptar los trminos 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 CREACIN DE HERRAMIENTAS DE
DESARROLLO DE LIFERAY
Liferay IDE necesita un tiempo de ejecucin de Liferay Portal en el que ejecutar y
depurar cdigo. Bajo el cap, que tambin trabaja con Plugins SDK de Liferay, un
entorno de desarrollo, lnea 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 ejecucin de Liferay Tomcat que va a utilizar en el


entorno de desarrollo para ejecutar las aplicaciones. Esto es tan fcil 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 bsico, de lnea de comandos impulsado que el IDE utiliza entre
bastidores para gestionar sus proyectos de Liferay. Esto es tan fcil como
instalar

todo

lo

dems:

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. Despus, usted necesita para obtener todos estos
componentes que hablan entre s. IDE lanzamiento.
1.

Uso Ventana Abrir perspectiva Liferay para cambiar a la perspectiva de


Liferay.

2.

La

pestaa

de

la

esquina

inferior

izquierda

est

etiquetando servidores. Haga clic en el enlace para crear un nuevo servidor.

Figura 3: La ficha Servidores tiene ningn servidor por defecto.

3.

En el cuadro de dilogo que aparece, seleccione el servidor que coincide


con el tiempo de ejecucin ha descargado e instalado. Haga clic en Siguiente.

Figura 4: Seleccionar el tiempo de ejecucin del servidor de Liferay que ha


descargado.

4.

Vaya a la carpeta Tomcat dentro del tiempo de ejecucin y haga clic


en Finalizar.

Ahora es el momento para iniciarlo. Seleccione el tiempo de ejecucin y haga clic


en el botn verde Reproducir. Liferay pone en marcha dentro de su IDE. Por cierto,

que podra haber hecho clic en el botn del insecto, y que habra comenzado
Liferay en modo de depuracin.
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

instalacin nueva, esto demuestra asistente de configuracin de Liferay Portal. Si


desea conectarse a una base de datos Liferay separada como MySQL, PostgreSQL,
o similar, puede configurar aqu. Si desea iniciar rpidamente, la base de datos
integrada est muy bien para el equipo local (pero no est optimizado para la
produccin, por lo que no lo utilizan all). Asegrese de desactivar la casilla
de Agregar datos de la muestra y, a continuacin, haga clic en Configuracin en
Finalizar.
A continuacin, obtener para establecer la contrasea administrativa. Seguir
adelante y hacer que (la contrasea liferay hace muy bien), responde a la pregunta
de seguridad, y ya est.
Su tiempo de ejecucin ya est configurado. A continuacin, 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 APLICACIN


LIFERAY
Introduccin a su primera aplicacin Liferay toma slo unos minutos. Le guiaremos
a travs del proceso paso a paso de crear su proyecto e implementacin de la
aplicacin de Liferay. Antes de que usted lo sepa, usted tendr su aplicacin
desplegada junto a una de las aplicaciones que vienen con Liferay.
Su primera aplicacin es simple: usted construir una aplicacin de libro de visitas
que tiene este aspecto:

Figura 1: Vamos a crear esta sencilla aplicacin.


De forma predeterminada, muestra mensajes de su libro de visitas que varios
usuarios han dejado en su sitio web. Para aadir un mensaje, hacer clic en el
botn Aadir entrada para mostrar una forma que puede utilizar para introducir y
guardar un mensaje.

CREACIN DE SU PRIMERA
APLICACIN LIFERAY
Ahora que todo est configurado, vamos a saltar a la derecha y crear su primer
proyecto. Aplicaciones en Liferay Portal se denominan mdulos de funcin, por lo
que vamos a crear un proyecto de portlet.
1.

Seleccione Archivo Nuevo Proyecto

Plugin

Liferay. Aparece

continuacin el cuadro de dilogo.


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 opcin Incluir cdigo de ejemplo.

4.

Compruebe lanzamiento Asistente de nuevo despus de la creacin de


portlets proyecto.

5.

Cuando haya terminado, haga clic en Finalizar.

Nota: La primera vez que se crea un proyecto, asegrese de que est en lnea 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 nmero de aplicaciones (denominadas portlets) en ellos. Su prximo
paso es crear el portlet, que el Asistente para nuevo portlets le ayuda a hacerlo.

Figura 2: nuevo asistente de proyectos Liferay IDE / Developer Studio hace que
sea fcil crear proyectos de Liferay.

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 podran 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
aplicacin. A continuacin, se abre la clase de portlets en un editor.

QU ES UN PORTLET?
Cuando acceda a un sitio web, que interacta con una aplicacin. Esta solicitud
puede ser simple: slo se puede mostrar informacin, como por ejemplo un
artculo. La aplicacin puede ser compleja: se le puede hacer sus impuestos en
lnea, insertando un montn de datos en una aplicacin 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 construccin que
necesitan para hacer que las aplicaciones.

Figura 4: Muchas aplicaciones Liferay pueden ejecutar al mismo tiempo en la misma


pgina.

Liferay Portal es una plataforma, y sus aplicaciones son llamadas portlets. Una
diferencia entre una aplicacin de Liferay y una aplicacin construida en otra
plataforma es que Liferay Portal puede servir para muchas aplicaciones al mismo
tiempo en la misma pgina. Por lo general, una aplicacin web ocupa toda la
pgina, y si lo desea, puede hacer esto con Liferay tambin. Pero Liferay tiene la
ventaja aadida de ser capaz de ejecutar muchas aplicaciones en la misma
pgina. Por esta razn, 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.

ADICIN DE VISITAS ENTRADAS


Una aplicacin 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 pgina de destino que
muestra las entradas y que tiene un botn en l que permite a los usuarios aadir
una entrada. Esta pgina 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
adicin de un botn que dice Aadir entrada.
1.

Abrir los fragmentos de pestaa en el lado derecho de Liferay IDE, y ampliar


la categora Taglib importaciones.

2.

Arrastre el fragmento marcado Liferay AUI Taglib importacin v6.1 fragmento


de la zona de la lnea por debajo de la importacin taglib existente
en view.jsp . No se preocupe por el nmero de versin de Liferay en el ttulo
fragmento: la importacin se cambi para la versin 6.1, y es vlido para las
versiones Liferay el futuro. El cdigo 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 continuacin, quite el mensaje predeterminado en el JSP.

4.

Abra la categora fragmento Liferay AUI Taglib y arrastre el fragmento


marcado botn de fila en la parte inferior de la pgina. Un cuadro de dilogo
aparece pidiendo la cssClass atributo. Tipo guestbook-buttons para este valor,
pulse Enter y haga clic en Insertar.

Figura 5: Insercin de fragmentos es muy fcil usando el cuadro de dilogo, o


puede hacerlo en el cdigo manualmente.

Usted est casi listo para agregar el botn dentro de la fila de botones, pero tal
como se sugiri anteriormente, habra que hablar de las URLs generadas por el
sistema, ya que se necesita una URL para asignar al botn.

La generacin de direcciones URL para


portlets
Desde portlets estn diseados para ser colocados en las pginas por parte del
usuario final, y los usuarios finales pueden colocar varios portlets en una pgina, y
usted como el desarrollador no tiene idea de lo que otros portlets compartirn una
pgina con los suyos, saben qu? No se puede definir direcciones URL para
distintas funciones en su aplicacin como puede ser usado para. Por qu? Un
simple ejemplo debe explicar.
Digamos que usted ha escrito una aplicacin de calendario que un usuario ha
colocado en la misma pgina como una aplicacin de blog. El Calendario permite al
usuario aadir y borrar eventos. El blog permite al usuario aadir y borrar las
entradas de blog. Para implementar la funcionalidad para eliminar, tanto los
desarrolladores de aplicaciones elegidas para anexar el parmetro del que la URL,
y darle un valor de clave principal por lo que la aplicacin puede ir a buscar el
evento del calendario o de la entrada de blog y eliminarlo.
Dado que ambas aplicaciones leen este parmetro, cuando un usuario utiliza la
funcin de eliminacin, 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 estn chocando debido a que utilizan
el mismo parmetro URL.URL generada por el sistema estn diseados para evitar
que esto suceda. La creacin de un sistema de direccin URL generada es fcil.
1.

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


etiqueta URL all.

2.

De

la

categora

fragmento de

portlets

Taglib, arrastre

la

etiqueta renderURL al espacio que acaba de hacer dentro de la <aui:buttonrow> etiqueta. Un cuadro de dilogo 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. Ests 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


dilogo aparece pidindole que introduzca los valores de dos atributos de
etiqueta.

6.

Para

obtener

el

nombre,

introduzca mvcPath. Para

introduzca /html/guestbook/edit_entry.jsp. Pulse

la

tecla

el

valor,

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 pgina en su aplicacin de mdulo, se utiliza el
parmetro mvcPath para indicar un enlace a esa pgina. Que acaba de crear
un renderURL que une a otro JSP en la aplicacin, y ahora se puede utilizar un
botn los usuarios pueden hacer clic (o cualquier otra construccin HTML que
acepta un enlace) con esa URL. Ese es el siguiente paso.

Creacin de un botn
Creacin de un botn es tan fcil como crear la URL era. As, arrastra el fragmento
adecuado para el botn a la ubicacin correcta en su pgina, 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 botn del fragmento de la


categora de Liferay AUI Taglib. Un cuadro de dilogo aparece pidiendo que
introduzca valores para varios atributos de etiqueta.
2.

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


%> . Este cdigo suministra la String de valor del objeto URL que ha creado

con el <portlet:renderURL etiqueta. Ver cmo se utiliza la var atributo en esa


etiqueta para as tener una variable para la URL. Esto es por lo que podra
referirse a ella aqu.

3.

Para el value atributo, introduzca Aadir entrada como el texto. Esto es lo


que aparece en el botn. Haga clic en Insertar.

En este punto, usted debe tener el cdigo 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 botn en la barra de herramientas o pulsando CtrlS. 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 ejecucin del servidor.

Figura 6: Distribucin de proyectos es un proceso de arrastrar y soltar.

Una vez que sus aplicaciones se despliega, ir a una pgina Liferay y haga clic en el
botn Aadir (se ve como un signo ms). Elija Aplicaciones y desde la categora de
muestra, arrastre la aplicacin Libro de visitas a la pgina y sultelo all. Su mdulo
de funcin es bastante escaso en este punto, pero esto es lo que tiene hasta ahora:

Figura 7: El botn no va a ninguna parte, todava.


No haga clic en el botn: recuerde que usted no ha creado la pgina de los puntos
de botn para an. Todo lo que se obtiene es un error si lo hace. Por supuesto, la
psicologa inversa dice que usted ha hecho clic en l ya. No se preocupe; que no

romper nada. A continuacin, vamos a crear la pgina que URL apunta a lo que la
aplicacin no se rompe cuando se hace clic en ese botn.

Realizacin de una pgina 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 pestaa editor. Copiar las tres primeras
lneas 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 aleacin para crear la forma.

4.

Vamos a crear dos direcciones: una para enviar el formulario y uno para
volver a la pgina anterior ( view.jsp ). Habr una diferencia entre los dos, sin
embargo, que ver en un momento.

5.

Como lo haca antes, arrastre el fragmento renderURL de la categora


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

6.

Como lo haca antes, arrastre el fragmento param de la categora


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 continuacin, es necesario crear una nueva direccin URL para enviar el


formulario. Antes de hacerlo, alguna explicacin est en orden.

El uso de acciones de portlets


Como ya se ha dicho, portlets estn diseados para funcionar en una parte de una
pgina junto a otros portlets. Debido a esto, tienen dos fases de operacin. 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 accin. Esta fase se ejecuta una vez, cuando un
usuario activa una accin de portlet. Los lleva a cabo portlets cualquier accin que
el usuario se activa, tales como la realizacin de una bsqueda o agregar un
registro a una base de datos, y luego sobre la base de lo que sucedi en la accin,
que se remonta a la fase de render y re-interprete a s mismo de acuerdo con su
nuevo estado despus la accin.
Para guardar una entrada en el libro, que tendr que desencadenar una accin de
portlets. Para ello, vamos a crear una URL de accin.
1.

De la categora fragmento de portlets Taglib, arrastre el


fragmento actionURL a su pgina, despus de su
cierre </portlet:renderURL> etiqueta.

2.

En el cuadro de dilogo, addEntry de alimentacin 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.

Creacin de un formulario
Su 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 categora fragmento Liferay AUI Taglib, arrastre la forma fragmento a


su pgina.

2.

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


de accin 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 ejecucin 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 pgina.
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.

8.

A continuacin el cierre </aui:fieldset> etiqueta, arrastre el


fragmento botn de fila y haga clic en Insertar.

9.

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


de botn. Para el type atributo, introduzca presentar. Haga clic en Insertar.

10.

Debajo del botn que acaba de crear en Enviar, arrastre


otro botn 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 pgina.

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 aplicacin, y si actualiza la pgina y


hacer click en el botn Aadir entrada, aparece el formulario. Si hace clic en el
botn Cancelar, funciona. No haga clic en el botn Guardar todava, sin embargo:
no se ha creado la accin que guarda una entrada en el libro, por lo que, se
mostrar un error. La implementacin de la accin es su siguiente tarea.

Acciones de aplicacin de portlets


Cuando los usuarios envan el formulario, su aplicacin necesita almacenar los
datos del formulario para que pueda ser representada en el libro de visitas. Para
mantener esta primera aplicacin sencilla, podrs 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 fcil
trabajar con bases de datos utilizando su marco de servicio de generador. Por
ahora, sin embargo, puede crear la primera iteracin de la aplicacin 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 accin define algn tipo de procesamiento,
por lo general sobre la base de la entrada del usuario, que el portlet debe hacer
antes de que se presten. En el caso del libro de visitas de portlets, la accin 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 ms adelante.
Puesto que usted est utilizando el framework MVC de portlets de Liferay, que tiene
una forma fcil de implementar acciones: en la clase de portlets, que acta como
controlador. En la forma que acaba de crear, a tomar una accin URL, y lo
llamaste addEntry . Para crear una accin de portlets, se crea un mtodo en la
clase portlet con el mismo nombre, y MVCPortlet llama al mtodo cuando un
usuario activa su URL coincidente.
1.

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


portlet.

2.

Crear un mtodo con la siguiente firma:


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

3.

Pase el cursor del ratn sobre ActionRequest y aadir la importacin. Haga


lo mismo para ActionResponse .

Ya ha creado una accin de portlets. No sirve de nada, pero al menos no obtendr


un error ahora si enva el formulario. A continuacin, debe realizar la accin
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 smbolo de intercalacin (^) hace un buen
delimitador porque los usuarios son muy poco probables que usen este smbolo 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 informacin sobre una
aplicacin adecuada para guardar los datos, seguir la Escritura de una ruta de
aprendizaje de aplicaciones basadas en datos.
El siguiente mtodo implementa la adicin 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 + "^"
+ 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
aadir una entrada de forma fiable sin tener que ir fuera de los lmites de la

matriz. A continuacin, los dos campos de formulario se recuperan. Tenga en


cuenta que de Liferay ParamUtil clase hace esto muy fcil de hacer.
Por ltimo, los campos se combinan en una String delimitada por un smbolo de
intercalacin, y se aade 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 rpida y fcil para que pueda almacenar entrada de
visitantes en esta primera versin de su aplicacin. Tambin gustara hacer el
registro
adecuado
en
caso
de
un
error,
en
lugar
de
utilizar System.out.println . Estas son cosas que se pueden corregir ms tarde.
La funcin siguiente y final para poner en prctica es una manera de ver la entrada
de visitantes.

VIENDO VISITAS ENTRADAS


Para 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 travs
de ellos, y presentarlos en la pgina. 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.

Creacin del Modelo


1.

Crear un nuevo paquete en su aplicacin


llamada com.liferay.docs.guestbook.model . Usted puede hacer esto haciendo
clic derecho en la carpeta de origen y seleccionando Nuevo Paquete y, a
continuacin, proporcionando el nombre de paquete en el cuadro de dilogo que
aparece.

2.

A continuacin, 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 seleccin


de fuente Generar captadores y definidores.

3.

A continuacin, proporcionar dos constructores: uno que inicializa la clase


con Sin valores para los dos campos, y uno que tiene los dos campos como
parmetros y establece sus valores. Su clase completado debera 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 fcil de encapsular entrada de
visitantes para que puedan ser procesados por la capa del controlador y se
muestran por la capa de vista. Su prximo 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 aplicacin libro de visitas.

Personalizacin de la Prestacin de la
Aplicacin
Como se dijo antes, las aplicaciones de portlets en su ms bsica tienen dos fases:
Procesar y de accin. Para hacer que el Libro de Oro de las entradas de visitantes
guardados cuando los usuarios ven la aplicacin, es necesario personalizar los
portlets de render funcionalidad, que actualmente est heredando de su clase
padre, MVCPortlet .
1.

Abrir GuestbookPortlet.java y coloque el siguiente mtodo debajo de


su addEntry mtodo:
@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 mtodo 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 continuacin, llama de la clase padre render mtodo.
2.

Debajo del render mtodo, coloque el siguiente mtodo que realiza la


conversin 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 mtodo divide las entradas en la String matriz en dos
partes basado en el smbolo de intercalacin (^) carcter.
Ahora que tiene su controlador preparar los datos para su visualizacin, el siguiente
paso es la implementacin de la vista, para que los usuarios puedan ver entrada de
visitantes.

Viendo Visitas Entradas


El marco de desarrollo de Liferay hace que sea fcil de bucle a travs de los datos y
mostrarlo adecuadamente al usuario final. Vamos a usar un componente llamado
la bsqueda de contenedores para que esto suceda.
1.

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


categora Taglib importaciones.

2.

Arrastre el fragmento marcado Liferay UI Taglib Importar en el rea


fragmento de la lnea por debajo de las importaciones taglib existentes
en view.jsp . El cdigo siguiente se agrega a view.jsp :
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

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 disposicin de la pgina.


4.

De la categora fragmento Liferay UI Bsqueda 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 dilogo que aparece, haga clic en el botn Examinar y


escriba Entrada en el dilogo de bsqueda. 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 automtica, 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 ms gramaticalmente


correcta, el cambio a entry y, a continuacin, 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 debera 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" > <liferayui:search-container-column-text property="message" /> <liferay-ui:search-containercolumn-text property="name" /> </liferay-ui:search-container-row> <liferayui: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 aplicacin, y trate de aadir algunas entradas de


visitantes.

You might also like