Hola2.0

Páginas: 19 (4605 palabras) Publicado: 30 de septiembre de 2012
Tutorial de Desarrollo

En la capa de presentación basicamente hay 2 tipos de presentaciones: Listas y Formularios.

Cada presentación necesita un Controller y su correspondiente JSP.

Nota: Este documento esta adaptado para Spring 3.0.


Presentación Listas.

En las listas los datos se muestran como se recuperan de la BD, para mostrar la traducción de sinonimos se requiere agregarunos beans tipo Decorator que son los que permite el componente de listas “displaytag”.

Sinonimo Decorator.
Por cada dato sinonimo se debe crear un archivo como el siguiente, es usado por el componente de Listas “displaytag”.

Carpeta: web/src/main/java/**/webapp/util/
Archivo: TipoProductoDecorator.java

package mx.com.t2i.miAplicacion.util.dictionary;

importjavax.servlet.jsp.PageContext;

import org.displaytag.decorator.DisplaytagColumnDecorator;
import org.displaytag.exception.DecoratorException;
import org.displaytag.properties.MediaTypeEnum;

import mx.com.t2i.gnosis.util.dictionary.DictionaryDecorator;

/**
* Description:
* Decorator para TipoProducto
* Decorator
*
*/
public class TipoProductoDecorator extends DictionaryDecorator implementsDisplaytagColumnDecorator
{
public Object decorate(Object rowObject, PageContext pageContext, MediaTypeEnum mediaType)
{
if ( ( rowObject != null )
&& ( mediaType != null )
)
{
if ( (""+mediaType).equals("html") )
{
String label = getLabelFromResourceBundle(pageContext,"TipoProducto."+TipoProducto.getName(rowObject) );

//rowObject = ""+label+"";
//rowObject = ""+label+"";

// TipoProducto es Numero poreso se pregunta por cero cuando null.
rowObject = ""+label+"";
}
else
{
if ( (""+mediaType).equals("pdf") )
{
String label =getLabelFromResourceBundle(pageContext, "TipoProducto."+TipoProducto.getName(rowObject) );

rowObject = label;
}
else
{
rowObject = rowObject+"="+TipoProducto.getName(rowObject);
}
}
}

return rowObject;
}
}



Controllers para Listas.

Los controller para listasson practicamente iguales, usan DAOS tipo generales bajo la idea de DRY (don't repeat yourself).

Controller Lista ejemplo 1.

Carpeta : web/src/main/java/**/webapp/controller
Archivo : CatProductoController.java

package mx.com.t2i.miAplicacion.webapp.controller;

import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.servlet.ModelAndView;

import mx.com.t2i.gnosis.webapp.helper.PaginateListFactory;
import mx.com.t2i.gnosis.service.PagingLookupManager;
import mx.com.t2i.gnosis.util.ExtendedPaginatedList;
import mx.com.t2i.gnosis.webapp.controller.PaginateListController;

import mx.com.t2i.miAplicacion.model.CatProducto;

/**
* Extends PaginateListController where the manager is defined to be injected.*/
@Controller
@RequestMapping("/catproductoList.*")
public class CatProductoController extends PaginateListController
{
private final Log log = LogFactory.getLog( CatProductoController.class );

/**
* Get records page by page (optimized).
*/
@RequestMapping(method = {RequestMethod.GET, RequestMethod.POST})
public ModelAndView handleRequest( HttpServletRequest...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS