Bonjour à tous,

Je reviens pour demander votre aide dans ce débuts difficiles de mes développement web

J'avais une application Java/Swing où je faisais apparaître un état "Jasper Reports". J'essaye de faire la même chose dans une nouvelle application Java EE/JSF. Pour le faire j'utilise le code ci-dessous, qui marchait très bien avec mon premier projet Swing:

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
30
31
32
33
34
35
36
37
38
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import java.util.HashMap;
import java.util.Map;

public JasperPrint loadReport() throws SQLException{
        Connection myConn = null;
	JasperPrint result = new JasperPrint();
	try{
		result = new JasperPrint();
		String osdSql="SELECT ... " +
	        	           "FROM ... " + 
	        		   "GROUP BY ... " +
	        		   "HAVING ...";
		String jasperFile= "C:\\netdados\\EclipseProjectsWeb\\og\\WebContent\\reports\\rptOsdDem.jrxml";
		JasperDesign jasperDesign = JRXmlLoader.load(jasperFile);
		JRDesignQuery query = new JRDesignQuery();
		query.setText(osdSql);
		jasperDesign.setQuery(query);
		JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
		Map<String, Object> parameters = new HashMap<String, Object>();
		parameters.put("statM1", strMoisF.format(dateTimeDiffere("month", -1).getTime()));
	        parameters.put("statM2", strMoisF.format(dateTimeDiffere("month", -2).getTime()));
		parameters.put("statM3", strMoisF.format(dateTimeDiffere("month", -3).getTime()));
		myConn = dataSource.getConnection();
		result = JasperFillManager.fillReport(jasperReport, parameters, myConn); 
	}catch(Exception e){
		JOptionPane.showMessageDialog(null, e.getMessage());
	}finally{
		if (myConn!=null) myConn.close();
	}
	return result;
}
Pour une raison quelconque j'ai un soucis dans la ligne rouge (JasperDesign jasperDesign = JRXmlLoader.load(jasperFile), mais je n'ai aucune message d'erreur qu'est affiché par mon bloque Try/Catch.

Après avoir passé une journée sans arriver à rien trouver, je reviens donc à demander votre avis...

Je vous remercie d'avance pour toute aide,
Marc