Incluir clases de Java en JSPs para Liferay

octubre 27, 2008 at 00:16 4 comentarios

Prerequisitos: un portal Liferay funcional, la máquina virtual de java instalada junto con el compilador javac y la utilidad jar instalada.

Probado en: liferay-portal-tomcat-5.5-5.1.2 (liferay bundled with tomcat) en Ubuntu.

Liferay es un CMS (Content Management System) ó “Administrador de Contenidos” basado en Java que utiliza el Tomcat como contenedor de Portlets.

Cuando se realizan tareas específicas como utilizar listas de objetos o realizar consultas a las bases de datos se hace necesario utilizar clases de Java.

En este documento se describe el proceso de crear una clase sencilla de Java, un archivo JSP que utiliza dicha clase y el portlet portlet IFrame (incluido en la categoría Ejemplos) que Liferay incluye de manera predeterminada para desplegar los resultados.

Primero vamos a crear la clase de Java (en cualquier lugar), la llamaremos Test.java.

La clase posee únicamente un único método (getID) que imprime el número 777, tanto la clase como el método son públicos para evitar problemas de visibilidad.

package miPaquete;

public class Test {
     public int getID() {
       // suerte suerte
       return 777;
     }
}

Es obligatorio (no tan cierto pero asúmalo así para simplificar) que la clase se encuentre dentro de un paquete, en este caso miPaquete

Compilamos la clase con el compilador javac, se generará el archivo Test.class, desde consola escribimos:

# javac Test.java

Creamos un directorio con el nombre del paquete, desde consola sería:

# mkdir miPaquete

Copiamos la clase Test.class al directorio miPaquete, desde consola:

# cp Test.class miPaquete/

Ahora hacemos uso de la utilidad jar para generar el archivo test.jar, desde consola escribimos:

# jar cvf test.jar miPaquete

Ahora tomamos el archivo jar generado y lo copiamos a la carpeta del Liferay liferay/common/lib/, desde consola:

# cp test.jar liferay/common/lib/

Nota: Por supuesto que debe ajustar las rutas para coincidir con su instalación de Liferay.

Creamos un nuevo directorio en la carpeta liferay/webapps al que llamaremos test, desde consola:

# mkdir liferay/webapps/test

Entramos en el directorio recién creado:

# cd liferay/webapps/test

Creamos un archivo llamado index.jsp (en realidad puede llamarse patico.jsp si se quiere) que es el que usará la clase de java contenida en test.jar, como siempre uso el editor vim

# vim index.jsp

Escribir lo siguiente en dicho index.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"
import="java.lang.reflect.*, miPaquete.Test"
%>
<%
Test t = new Test();
out.println(t.getID());
%>

Salvar el archivo

Luego detenemos y reiniciamos el servidor, desde la carpeta liferay/bin:

# ./shutdown.sh
# ./startup.sh

Ahora sigue el trabajo desde el Liferay, desde el navegador web crear una nueva página o también puede realizar la prueba en una ya existente. Agregar a dicha página el portlet IFrame que se encuentra en al categoría de Ejemplos:

agregar portlet iframe

Luego configuramos el portlet:

configurar portlet iframe

Agregamos la ruta (relativa a liferay/webapps/ ) del jsp creado anteriormente: /test/index.jsp en el espacio URL de origen

agregar ruta del jsp

Por último damos click en Guardar, luego en Volver a la página índice y listo, deberímos poder ver el 777
}:)

resultado iframe

setas

Enjoy!

Entry filed under: cms, programación. Tags: , , , , , .

Crear banner degradado con el Gimp Cambiar contraseña de un usuario (incluído el administrador) en Linux

4 comentarios Add your own

  • 1. fabimc  |  noviembre 17, 2008 en 16:55

    Excelente post. Me salvó la vida!

    Responder
  • 2. Baskeyfield  |  diciembre 11, 2009 en 07:01

    Muy buen post, hace poco hice esto mismo. Comentar que existe un portlet sample-jsp.portlet que te permite trabajar con jsps facilmente.

    Responder
  • 3. Alberto de Francisco  |  enero 19, 2010 en 11:30

    Muchas gracias por el ejemplo…
    una cosilla…
    cuando añades la URL como URL de origen en el IFrame, ¿no debería ser /test/index.jsp en vez de /test/index.aspx?

    Muchas gracias

    Responder

Dejáte un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Acerca de Mi:


Hell-Out world!!

Digo yo

Es difícil hacerse la vida fácil.

Dice Victor Frankl

Lo que importa no es tanto que la vida de una persona esté llena de dolor o de placer, sino que esté llena de sentido.

Digo yo

Que dura está la vida.

Dice Jhon Lennon

La vida es lo que pasa mientras haces planes.

Digo yo

Dónde haya un computín esté dónde esté algo comenzará en cero.

Dice Einstein

Dios no juega a los dados.

Dice Niels Bohr

Einstein no le diga a Dios lo que tiene que hacer.

Dice el Che:

Seamos realistas y hagamos lo imposible.

Dice Goethe:

Lo que no comprendemos no lo poseemos.

Digo yo:

Hay que tratar de travesear todo.

Dice Oscar Wilde:

Cualquier hombre puede llegar a ser feliz con una mujer, con tal de que no la ame.

Digo yo:

De fijo dijo eso porque era homosexual.

Artículos

octubre 2008
L M X J V S D
    Nov »
 12345
6789101112
13141516171819
20212223242526
2728293031  

A %d blogueros les gusta esto: