Daniel Prado Rodríguez Visita: Sacarse el carnet de conducir por libre DGT
  Viernes, 4 de Octubre de 2024 Inicio | Contactar
Añadir a favoritos | Imprimir 
  Volver al resto de artículos JAVA


Programación JAVA - ANEXO I – Información sobre los archivos de configuración - Migración Struts a Porlet JSR168

» Programacion » Java » ANEXO I – Información sobre los archivos de configuración - Migración Struts a Porlet JSR168
Jueves, 14 de Septiembre de 2006. Escrito por Daniel P.


Introducción

 Este artículo muestra los distintos archivos de configuración necesarios para la migración entre una aplicación Struts a una aplicación JSR168. En este caso se ha desplegado sobre JetSpeed 2 y bajo Tomcat.(aunque se ha probado con vignette, también)

Para leer este artículo se recomienda la lectura del artículo: Migración de una aplicación Struts a un Portlet JSR-168, en el contendor de portlets Jetspeed 2.

Archivo porlet.xml

Se explicarán las distintas etiquetas y atributos que nos podemos encontrar dentro del archivo de configuración porlet.xml, lo que nos permitirá conocer la funcionalidad de este.

Ejemplo del archivo porlet.xml:

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="asistenciaTecnica2" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
 http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
   <portlet id="AsistenciaTecnica2">
    <portlet-name>AsistenciaTecnica2</portlet-name>
    <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class>
    <init-param>
      <name>ServletContextProvider</name>
      <value>org.apache.jetspeed.portlet.ServletContextProviderImpl </value>
    </init-param>
    <init-param>
      <name>ViewPage</name>
      <value>/Welcome.do</value>
    </init-param>
    <init-param>
      <name>HelpPage</name>
      <value>/help.shtml</value>
    </init-param>
   <!--  <expiration-cache>-1</expiration-cache> -->
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
      <portlet-mode>HELP</portlet-mode>
    </supports>
    <portlet-info>
      <title>JPetstore</title>
      <keywords>Struts</keywords>
    </portlet-info>
  </portlet>


Atributo Encoding

El encoding del documento debe ser UTF-8, si se utiliza otro puede presentar problemas como sucede en Vignette.

Atributos de la etiqueta portlet-app

id - Es el identificador de la aplicación que contiene al portlet, por lo tanto se debe de llamar igual que la aplicación (En Jetspeed parece ser necesario, en Vignette no hace falta pero funciona con su presencia).
El resto de atributos parece que sin ellos funciona bien en Jetspeed, pero son necesarios para Vignette, por tanto siempre será mejor incluirlos.

Etiqueta portlet

Se explicará los atributos de esta etiqueta y todas las etiquetas que están contenidas dentro de esta y las funciones que desempeñan.
id - Es el identificador del portlet (se corresponderá con el portlet-name, parece ser necesario para Jetspeed, pero no para Vignette, pero funciona correctamente si está incluido).

Etiqueta portlet-name

El contenido de esta etiqueta será el nombre del portlet.

Etiqueta portlet-class

Hace referencia al paquete y clase del portlet, en este caso es el bridge (es distinto si se trata de un portlet que se desplegará en Jetspeed o Vignette, ya que utilizan puentes distintos).

1º etiqueta init-param

Esta etiqueta y su contenido son necesarios sólo para el caso de tratarse una aplicación Struts migrada a portlet. Esta contiene dos etiquetas :
name - Siempre tendrá el siguiente valor ServletContextProvider
value - Es la librería y clase que implementa (Se utilizan distintas clases si se trata de un portlet que se desplegará en Jetspeed o Vignette).

2 ª y 3ª etiquetas inti-param

Son también necesarios solo para el caso de utilizar el bridge Struts-Portlet.
Indica que actions de Struts son los responsables de los distintos tipos de visualización que tiene el portlet (View, Help, Edit, etc.).

Etiqueta supports

Esta etiqueta contiene varias etiquetas:
mime-type es el tipo de la salida que nos proporciona el portlet, normalmente text/html.
portlet-mode indicará los modos que utiliza el portlet en este caso VIEW y HELP (puede presentar algún problema si no están escritos en mayúscula).

Etiqueta portlet-info

Esta etiqueta contiene información sobre el portlet.
Title - El título del portlet
keyword - Palabras clave asociadas con el portlet, se separan entre comas “,”.

Archivo struts-portlet-config.xml

La función de este archivo es la de mapear los actions presentes en Struts con los tipos de url de los portlets.
Ejemplo del Archivo struts-portlet-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message"/>
</render-context>
<portlet-url-type>
<action path="/Welcome.do"/>
</portlet-url-type>
</config>
Se deberá de introducir los actions de struts que serán la entrada de los modos del portlet. En el caso anterior (portlet.xml) tenemos el HELP y VIEW, en este caso en concreto sólo se ha mapeado el action correspondiente con el VIEW, faltaría incluir el del HELP.

asistenciaTecnica2.psml

Este es un archivo exclusivo para los portlet de Jetspeed y es el encargado de ubicar el portlet dentro de Jetspeed y de darle los permisos oportunos. El nombre de este se debe de corresponder con el nombre del portlet, en este caso asistenciaTecnica2.

La ubicación de este será en \Apache Jetspeed 2.0\webapps\jetspeed\WEB-INF\pages

Ejemplo archivo asistenciaTecnica2.psml
<page>
<defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
<title>Asistencia Tecnica version 2</title>
<metadata name="title" xml:lang="es">Asistencia Tecnica 2</metadata>
<fragment id="asisTec2" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="asisTec2-1" type="portlet" name="asistenciaTecnica2::AsistenciaTecnica2">
</fragment>
</fragment>
<security-constraints>
<security-constraints-ref>public-view</security-constraints-ref>
</security-constraints>
</page>

Etiqueta title

Se corresponde con el título del portlet.

Etiqueta metadata

Asistencia Tecnica 2
La etiqueta metadata contiene el nombre que aparecerá en el menú y en la barra de navegación.
El atributo xml:lang indica para que idioma se mostrará el título, en este caso para el español.

Etiqueta fragment


<fragment id="asisTec2" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="asisTec2-1" type="portlet" name="asistenciaTecnica2::AsistenciaTecnica2">
</fragment>
</fragment>
asisTec2 y asisTec2-1 son los identificadores de la ventana y columna que contiene al Portlet.

jetspeed-layouts::VelocityOneColumn indica el modo de visualización en este caso es una columna, podría ser VelocityTwoColumns para indicar que se visualizan dos.

En este caso la única columna contiene un Portlet llamado AsistenciaTecnica2 contenido en la aplicación asistenciaTecnica2 (estos deben coincidir con los introducidos en portlet.xml)

public-view ? Indica la seguridad del portlet, en este caso es público y puede ser utilizado por todos los usuarios.

comentarios (0)
  Anterior artículo JAVA Siguiente artículo JAVA 

COMENTARIOS EN FACEBOOK SOBRE: Artículo JAVA (J2EE) - ANEXO I – Información sobre los archivos de configuración - Migración Struts a Porlet JSR168
 
Mapa web |  Página principal  | Blog de Recetas | Recetas de Pescado | | Política de privacidad | Política de cookies
www.daniel.prado.name - Página Personal - © Copyright