 
			
				09/04/2007, 17:48
			
			
			     |  
      |    |    |    Fecha de Ingreso: abril-2007  
						Mensajes: 1
					  Antigüedad: 18 años, 6 meses Puntos: 0     |        |  
  |      Re: Jasper Report + iReport + NetBeans 4        Hola a todos, soy nueva en jasper report y jsp y tengo un problema al pasar un parámetro desde un jsp a mi reporte en jasper, mi código es el siguiente:   
<%@ page import="net.sf.jasperreports.engine.export.*"%> 
<%@ page import="net.sf.jasperreports.engine.*"%> 
<%@ page import="net.sf.jasperreports.engine.fill.*" %> 
<%@ page import="net.sf.jasperreports.view.*"%> 
<%@ page import="java.util.*" %> 
<%@ page import="javax.sql.*" %> 
<%@ page import="java.sql.*" %> 
<%@ page import="javax.naming.*" %> 
<%@ page import="java.io.*" %> 
<%@ page import="java.lang.*" %> 
<%@ page contentType="text/html; charset=iso-8859-1" language="java"import="java.sql.*" errorPage="" %> 
<%@ include file="Connections/oracle.jsp" %>   
<% 
//Recepción de parámetros generales 
String reporte = request.getParameter("reporte"); 
String usuario = request.getParameter("user"); 
String fecha = request.getParameter("fecha"); 
String strtmp = request.getParameter("str1"); 
//Conexión 
Driver Drivercon_report = (Driver)Class.forName(MM_oracle_DRIVER).newInstanc  e(); 
Connection Conncon_report = DriverManager.getConnection(MM_oracle_STRING,MM_or  acle_USERNAME,MM_oracle_PASSWORD);   
//Consulta a la base de datos 
PreparedStatement Statementcon_report = Conncon_report.prepareStatement("SELECT *  FROM gedetrep  WHERE pdrnom = upper('"+reporte+"') order by pdrord");   
ResultSet con_report = Statementcon_report.executeQuery();   
boolean con_report_isEmpty = !con_report.next(); 
boolean con_report_hasData = !con_report_isEmpty; 
Object con_report_data; 
int con_report_numRows = 0; 
int Repeat1__numRows = 10; 
int Repeat1__index = 0; 
con_report_numRows += Repeat1__numRows;     
//Preparacion del reporte (en esta etapa se inserta el nombre del reporte). 
String filejasper = reporte+".jasper"; 
String JasperFilesSource = "/reportes/";   
//Asignación de Parámetros 
Map parameters = new HashMap(); 
String TIPO = "NUMBER";   
if (TIPO == "NUMBER"){ 
  parameters.put("ARTCOD", strtmp);     
}    
 //Cargamos la definicion del reporte *.jasper 
File reportFile = new File(application.getRealPath("/reportes/"+reporte+".jasper")); 
    	JasperPrint jasperPrint=JasperFillManager.fillReport(reportFil  e.getPath(), parameters, Conncon_report);           
//Nombre archivo resultado. 
String PdfFilesSource = "/reportes/"+usuario+"_"+reporte+fecha+".pdf";   
//Creacion del html 
JRPdfExporter exporter = new JRPdfExporter(); 
exporter.setParameter(JRExporterParameter.JASPER_P  RINT, jasperPrint); 
exporter.setParameter(JRExporterParameter.OUTPUT_F  ILE_NAME,application.getRealPath(PdfFilesSource)); 
exporter.exportReport();     
//Leer el archivo. 
File f = new File (application.getRealPath(PdfFilesSource));   
//Obtener el Nombre del archivo. 
String name = f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length());   
//Configurar cabecera y nombre de archivo a desplegar en DialogBox. 
response.setHeader("Content-Disposition", "attachment; filename=\" " + name + "\"");   
InputStream in = new FileInputStream(f); 
ServletOutputStream outs = response.getOutputStream();   
int bit = 256; 
int i = 0;   
while ((bit) >= 0) { 
bit = in.read(); 
outs.write(bit); 
} 
outs.flush(); 
outs.close(); 
in.close(); 
%>   
<% 
con_report.close(); 
Statementcon_report.close(); 
Conncon_report.close(); 
%>   
Mi problema es que en el "parameters.put("ARTCOD", strtmp);" si yo le envío directamente el valor del parámetro, el reporte me genera normalmente, pero si le envío el valor con la variable que almacena el valor recibido desde el url no me retorna ningún valor en el pdf.   
Por favor ayudenme urgente que ya voy varios días en esto, seguramente es una bobada pero no consigo solucionar el problema.   
Saludos a todos           |