Primero solo crea un clase que herede de ActionSupport y que por supuesto implemente un DAO para el acceso a los datos (Esto es a tu manera). Recuerda crear una instancia de tipo colección como: List, ArrayList, etc. la cual será utilizada para llenar el reporte. ver código.
Segundo creas una entrada en el xwork.xml del .action, debes pasarle tres parametros: format, datasource y location. ver código. Tendrás que crear una entrada de .action por cada formato que desees el reporte. (PDF, HTML, XLS, CSV y XML)
Tercero diseña el reporte por supuesto (puedes utilizar unas de varias herramientas gráficas que existen) utilizando IReport o JasperAssistant, para diseñar un lindo reporte :-), no tengo que decir que ahi que compilar el reporte. (tu eliges el método, yo prefiero con ant) .
Cuarto probarlo para ver si funciona y claro que funciona :-P
package net.sf.campusip.web.webwork.action.beca;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork.Preparable;
import net.sf.campusip.domain.personas.Beca;
import net.sf.campusip.web.webwork.action.AbstractAction;
/**
* @author vns
*
*/
public class PrintBecasReport extends AbstractAction implements Preparable {
private List becas = new ArrayList();
/**
*
*/
public PrintBecasReport() {
super();
}
public Object getModel() {
return this.becas;
}
/* (non-Javadoc)
* @see com.opensymphony.xwork.Preparable#prepare()
*/
public void prepare() throws Exception {
becas = jcolegio.getAll(Beca.class);
}
/**
* @return Returns the becas.
*/
public List getBecas() {
return becas;
}
}
========================
< name="reportbecas-pdf" class="net.sf.campusip.web.webwork.action.beca.PrintBecasReport">
< name="success" type="jasper">
< name="location">/mantenimiento/beca/becas_report.jasper
< name="dataSource"> becas
< name="format"> PDF
==========================
http://jasperreports.sourceforge.net/
2 comments:
cual seria el codigo del jsp?
No es jsp es una respuesta http generada con el pdf, el cual es descargado por el navegador ( o si esta confiurado para abrir el pdf lo presenta dentro del mismo).
Post a Comment