Lista,
Criei um projeto no eclipse que contém essa estrutura:
webapps
–>meu_projeto
------>WEB-INF
---------->classes
-------------->teste
------------------>com
---------------------->br
-------------------------> arquivos .class
Então, em um desses arquivos .class (vide código abaixo) eu chamo um arquivo .jasper que o .class só consegue “enxergar” se esse arquivo .jasper estiver na pasta meu_projeto.
Minhas dúvidas:
Como eu faço para determinar outra pasta para eu colocar esse arquivo .jasper? Ou não tem jeito?
O arquivo .jasper gera um .pdf. Depois que o usuário printou o relatório a minha classe tem que cuidar de apagar esse pdf ou existe uma forma automática de fazê-lo?
Vc tem um exemplo de como visualizar esse pdf no acrobat ao invés de visualizá-lo com JasperViewer.viewReport(“RelatorioBibliotecaPessoal.jrprint”, false ); ?
Muito obrigado,
Marques
package br.com.teste;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.view.JasperViewer;
public class RelatorioBibliotecaPessoal {
private static Connection getConnection() throws ClassNotFoundException,
SQLException {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/bgma?zeroDateTimeBehavior=convertToNull";
String user = "root";
String password = "";
Class.forName(driver);
Connection con = DriverManager.getConnection(url, user, password);
return con;
}
public void geraRelatorio() throws JRException, Exception {
Connection con = getConnection();
Statement stm = con.createStatement();
String query = "select * from associado";
ResultSet rs = stm.executeQuery(query);
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
Map parameters = new HashMap();
JasperFillManager.fillReportToFile("RelatorioBibliotecaPessoal.jasper", parameters, jrRS);
JasperExportManager.exportReportToPdfFile("RelatorioBibliotecaPessoal.jrPrint");
//JasperViewer.viewReport("RelatorioBibliotecaPessoal.pdf", false);
JasperViewer.viewReport("RelatorioBibliotecaPessoal.jrprint", false );
}
public static void main(String[] args) throws JRException, Exception {
new RelatorioBibliotecaPessoal().geraRelatorio();
}
}