salut , moi je devloppe une application web dans laquelle je doit generer des rapport avec jasper report . en fait j'ai testé l'exemple d'integration de jasper report avec JSF . moi je suis obligé de travailler juste avec JSP et non pas avec JSF donc j'ai essayé de configurer l'exemple pour l'adapter a mon application . mais je me suis bloqué de trouver équivalent de ces deux lignes sans utiliser JSF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();
la méthode dans mon javabean pour jsf est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
public String viewReportPDF() throws SQLException, JRException, IOException, ClassNotFoundException {
		Class.forName("com.mysql.jdbc.Driver");
                String reportId = "report8";
      connection = (Connection) DriverManager.getConnection(HOST, USERNAME, PASSWORD);
 
		HashMap parameterMap = new HashMap();
		parameterMap.put("avancement", avancement);
 
		//File file = new File("");
		JasperPrint jasperPrint = JasperFillManager.fillReport("C:\\Users\\boussoufiane\\Documents\\NetBeansProjects\\jspr\\report1.jasper",
				//new FileInputStream(new File(file, reportId + ".jasper")),
				parameterMap, connection);
		byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
		FacesContext context = FacesContext.getCurrentInstance();
		HttpServletResponse response = (HttpServletResponse) context
				.getExternalContext().getResponse();
		/***********************************************************************
                 * Pour afficher une boîte de dialogue pour enregistrer le fichier sous
                 * le nom rapport.pdf
                 **********************************************************************/
		response.addHeader("Content-disposition",
				"attachment;filename=rapport.pdf");
		response.setContentLength(bytes.length);
		response.getOutputStream().write(bytes);
		response.setContentType("application/pdf");
		context.responseComplete();
		return null;
}