Bonjour,
tout d'abord, dsl pour les accents, j'ai un peu de mal avec le qwerty :/
Maintenant, mon probleme : j'ai un soucis avec un formulaire qui n'arrive pas a m'afficher des 'Delta' correctement.
Le probleme ne vient pas du rapport, parce que lorsque je le lance avec le Viewer propose comme exemple, les delta sont correctement affiches.
Par contre, lorsque c est mon application qui le charge, ca bug...
je vous montre mon code, si jamais vous voyez qqch...
Il est base sur cet exemple :
http://onjava.com/pub/a/onjava/2006/...rt.html?page=2
Mon BirtEngine est le meme.
Par contre, la methode doGet de mon WebReport change :
Mon Rapport :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // get report name and launch the engine resp.setContentType("text/html"); // resp.setContentType( "application/pdf" ); // resp.setHeader ("Content-Disposition","inline; filename=test.pdf"); String reportName = req.getParameter("ReportName"); ServletContext sc = req.getSession().getServletContext(); this.birtReportEngine = BirtEngine.getBirtEngine(sc); // setup image directory HTMLRenderContext renderContext = new HTMLRenderContext(); renderContext.setBaseImageURL(req.getContextPath() + "/images"); renderContext.setBaseURL(req.getContextPath()); renderContext.setImageDirectory(sc.getRealPath("/images")); HashMap<String, HTMLRenderContext> contextMap = new HashMap<String, HTMLRenderContext>(); contextMap.put(EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext); IReportRunnable design; try { // Open report design design = birtReportEngine.openReportDesign(sc .getRealPath("/Reports") + "/" + reportName); // create task to run and render report IRunAndRenderTask task = birtReportEngine .createRunAndRenderTask(design); task.setAppContext(contextMap); // set output options HTMLRenderOption options = new HTMLRenderOption(); options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML); // options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_PDF); options.setOutputStream(resp.getOutputStream()); options.setImageHandler(new HTMLServerImageHandler()); options.setBaseImageURL(req.getContextPath() + "/images"); options.setImageDirectory(sc.getRealPath("/images")); task.setRenderOption(options); task.setParameterValue("From_Date", new java.sql.Date(formatter.parse(req.getParameter("From_Date")).getTime())); task.setParameterValue("To_Date", new java.sql.Date(formatter.parse(req.getParameter("To_Date")).getTime())); // run report task.run(); task.close(); } catch (Exception e) { e.printStackTrace(); throw new ServletException(e); } }
(note : en realite, il n'y a pas le code '&#916;' mais bien un Delta : Δ)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <structure> <property name="name">delta</property> <text-property name="displayName">delta</text-property> <expression name="expression" type="javascript">"Δ : " + dataSetRow["delta"] + " EUR"</expression> <property name="dataType">string</property> </structure>
Sinon, je tourne sous jboss 5.0.1, avec un serveur mysql, et j'utilise la derniere version de Birt (telechargee il y a une semaine).
Dites-moi s'il vous faut plus de details.
Merci par avance !
Partager