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.
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>
<?xml version="1.0" encoding="UTF-8"?>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.
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message"/>
</render-context>
<portlet-url-type>
<action path="/Welcome.do"/>
</portlet-url-type>
</config>
<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>
…La etiqueta metadata contiene el nombre que aparecerá en el menú y en la barra de navegación.Asistencia Tecnica 2 …
…asisTec2 y asisTec2-1 son los identificadores de la ventana y columna que contiene al Portlet.
<fragment id="asisTec2" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="asisTec2-1" type="portlet" name="asistenciaTecnica2::AsistenciaTecnica2">
</fragment>
</fragment>
…
Daniel P. @ 21:04 | comentarios (0) | Links Permanentes
En este artículos explicamos como poder acceder a variables privadas de una clase y como modificarlas. Esto puede ser muy útil si extendemos clases en la que es necesario acceder desde la clase hija a atributos privados declarados en la clase padre.
Podemos ver como introduce un valor y lo recupera.
java.lang.reflect.Field nombre = nombre_clase.getClass().getDeclaredField("nombre_atributo ");
nombre.setAccessible(true);
nombre.setString(nombre_clase,"valor"); // Metemos un valor (ojo tiene que ser del mismo tipo que el atributo en este caso String)
return (String)nombre.get(nombre_clase); // Recuperamos el atributo (en este caso es un String)
Daniel P. @ 21:50 | comentarios (1) | Links Permanentes
<< September 2006 >> | ||||||
---|---|---|---|---|---|---|
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
archivos
November - 2013