Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2006, 11h06   #1
Invité de passage
 
Inscription : août 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3
Points : 1
Points : 1
Par défaut JasperReports avec la technologie Servlet

j'ai réalisé une petite application Web qui integre l'api jasperreports et je souhaite envoyer des rapports sur n'importe quel navigateur pour l'imprimer.
j'ai créé la servlet suivante:

public class PrintFileToScreen extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
public final static String URL="jdbc:postgresql://192.168.1.2:5432/tunicode";
public final static String USER_NAME="postgres";
public final static String PASSWORD="postgres";
public PrintFileToScreen() {
super();
}


protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Connection conn=null;
try {
conn = DriverManager.getConnection(URL,
USER_NAME,
PASSWORD);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//getting file name From System File
String file_name=request.getParameter("Path");
System.out.println("File report :"+file_name);
//make report here
// chemin du rapport
File reportFile = new File(file_name);
// remplissage du map des parmètres
// generation du rapport
try {
byte [] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),null,conn);
FileOutPut
response.
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
*-------------------------------------------------------*
comme mentionner le rapport et déja génerer mais mon probléme consiste a récupérer les "bytes" sur une interface Web...
tarakakik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 08h55   #2
Invité de passage
 
Inscription : mars 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 4
Points : 4
Points : 4
Bonjour Tarak,
je ne comprend pas trop votre question!
ton code me semble correcte et il permet de généré vote rapport sous format PDF. Si vous voulez le générer sous format html, vous pouvez utiliser le code suivant :
Citation:

response.setContentType("text/html");
PrintWriter out = response.getWriter();

try
{
File reportFile = new File(context.getRealPath("/reports/WebappReport.jasper"));

JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());

Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("BaseDir", reportFile.getParentFile());

JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
new WebappDataSource()
);

JRHtmlExporter exporter = new JRHtmlExporter();

Map imagesMap = new HashMap();
request.getSession().setAttribute("IMAGES_MAP", imagesMap);

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?image=");

exporter.exportReport();
}
catch (JRException e)
{//votre exception}
Tunisien est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h07.


 
 
 
 
Partenaires

Hébergement Web