View
80
Download
7
Category
Preview:
Citation preview
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.
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.
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.
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.
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.
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.
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
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.
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 ....
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.
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.
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.
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.
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.
Figura 2: nuevo asistente de proyectos Liferay IDE / Developer Studio hace que
sea fácil 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 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.
¿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
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.
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.
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.
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.
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.
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
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.
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
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 + "^" +
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
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 .
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" %>
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" >
<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.
Recommended