problème d'affichage du rapport ireport
Bonsoir à tous
j'ai créé un rapport avec iReport
dans ce rapport j'ai ajouter une requête qui affiche les résultats avec un paramètre provenant de mon bean
j'ai ajouté ce paramètre dans le rapport
voici le code qui m'affiche le rapport:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
try {
DriverManager
.registerDriver(new oracle.jdbc.driver.OracleDriver());
file = new File("Images/");
param = new HashMap();
param.put("mon_param",3 );
datasource = new JRBeanCollectionDataSource(ta.getTabled3());
JasperPrint jasperPrint;
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
InputStream is = request.getSession().getServletContext()
.getResourceAsStream("/" + reportId + ".jasper");
jasperPrint = JasperFillManager.fillReport(is, param,
new
JRBeanCollectionDataSource((Collection) datasource));
byte[] bytes = JasperExportManager
.exportReportToPdf(jasperPrint);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context
.getExternalContext().getResponse();
response.addHeader("Content-disposition",
"attachment;filename=Décharge " + demande + ".pdf");
response.setContentLength(bytes.length);
response.getOutputStream().write(bytes);
response.setContentType("application/pdf");
context.responseComplete();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (JRException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} |
mais le problème c'est que le rapport s'affiche vide comme si il y une erreur d'envoi du paramètre
mais si je fixe la valeur du paramètre dans la requête le rapport s'affiche normal
où est le problème????????
Merci