Xdoclet – Portlet Module & Spring Portlet MVC

By | March 8, 2006

Nadie puede negar que la programación orientada a atributos es muy util. Pues bien, estuve jugando con Spring Framework 2.0M3, en especial el modulo para Porlets.

Según la regla que sigo: “Mientras menos hago más avanzo”, decidí usar el modulo Xdoclet para generar el archivo portlet.xml.

Definí un controlador con los respectivos tags:


package com.stconsulting.sample.web.portlet.controller;

import javax.portlet.RenderRequest;

import javax.portlet.RenderResponse;

import org.springframework.web.portlet.ModelAndView;

import org.springframework.web.portlet.mvc.AbstractController;

/**

 * @portlet.portlet  name="SamplePortlet"

 *                  portlet-class="org.springframework.web.portlet.DispatcherPortlet"

 *                  display-name="Sample Portlet" expiration-cache="0"

 * 

 * @portlet.portlet-init-param  name="contextConfigLocation"

 *                              value="/WEB-INF/context/sample/applicationPortlet.xml"

 * 

 * @portlet.supports   mime-type="text/html"

 *             modes="view,edit,help"

 * 

 * @portlet.portlet-info title="Sample Portlet" keywords="Sample"

 *                       short-title="Sample"

 * 

 * @author Abner Nazario Ballardo Urco

 */

public class SamplePortlet extends AbstractController {

 public ModelAndView handleRenderRequestInternal(RenderRequest request,

 RenderResponse response) throws Exception {

 return new ModelAndView("sample", "model", "hello");

 }

}

Pero XDoclet no generaba correctamente el archivo (estaba en blanco), en fin,… luego de varias pruebas encontre que el archivo portlet_xml.xdt tenía esta definición

 <XDtClass:forAllClasses type="javax.portlet.GenericPortlet">
  <XDtClass:forAllClassTags tagName="portlet.portlet" superclasses="true">
    <portlet>
      ...............

Como vemos se indica que solo procese las clases que extiendan de javax.portlet.GenericPortlet, para poder usar libremente XDoclet Porlet Module con Spring solo necesitamos modificar el archivo .xdt que se encuentra en:

JAR: xdoclet-portlet-module.jar
Ruta: /xdoclet/modules/portlet/resources/portlet_xml.xdt

 <XDtClass:forAllClasses>
 <XDtClass:ifHasClassTag tagName="portlet.portlet">
  <XDtClass:forAllClassTags tagName="portlet.portlet" superclasses="true">
    <portlet>
      ...............
  </XDtClass:forAllClassTags>
 </XDtClass:ifHasClassTag>
 </XDtClass:forAllClasses>

1 Comment

Alberto on April 14, 2011 at 12:35 pm.

Muchas gracias por tus aportes ,podrias mandarme o colgar un tutorial con spring y base de datos mysql usando los standares para obserbar su funcionalidad

Leave Your Comment

Your email will not be published or shared. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>