Bonjour,

J'ai suivi les conseils de c_nvy (que je ne remercierai jamais assez pour tous les posts précieux qu'elle envoie ) et pourtant je n'arrive pas a afficher un graphe généré avec JFreeChart dans une page jsp. La place où devrait s'afficher l'image reste désespérément blanche ....

J'ai bien fait évoluer le web.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<servlet>
		<servlet-name>DisplayChart</servlet-name>		                      <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>DisplayChart</servlet-name>
		<url-pattern>/servlet/DisplayChart</url-pattern>
	</servlet-mapping>
Voici mon Action struts (il s'agit pour le moment d'un essai avec des valeurs en dur) :
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
DefaultPieDataset pieDS = new DefaultPieDataset(); 
			pieDS.setValue("Chirurgie", 30);
			pieDS.setValue("Obstétrique", 20);
			pieDS.setValue("Médecine", 50);			
			pieDS.setValue("Non attribué", 0);
 
			JFreeChart pie = ChartFactory.createPieChart("Répartition MCO", pieDS, true, true, true);
			ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
 
			String filename = ServletUtilities.saveChartAsJPEG(pie, 200, 180, info, request.getSession());
 
			Graphe graphe = new Graphe();
			String map = ChartUtilities.getImageMap(filename,info);
			String src = request.getContextPath()+"/servlet/DisplayChart?filename=" + filename ;
			String useMap = "#" + filename  ;
			graphe.setMap(map);
			graphe.setUseMap(useMap);
			graphe.setSrc(src);
			request.setAttribute("graphe", graphe);
 
			suite = mapping.findForward("resultat_DPA_TDP");
et ma jsp:

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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/ipaqh.js"></script>
<title>Résultats</title>
</head>
<body>
Activité de soins  MCO
<br>
  ${graphe.map}
<br>
<html:img src="${graphe.src}"  border="1"/>
<br>
</body>
</html>

Le graphe est pourtant bien créé et stocké dans le répertorie temporaire, je l'ai vérifié, je parviens même à afficher l'image avec un visionneur d'images. Le problème semble donc être la restitution à la page JSP.
La servlet DisplayChart semble être correctement activée par la balise img un point d'arret à l'intérieur de la méthode service de cette servlet me l'a montré.

Quelqu'un voit il où est le problème ?
Merci d'avance !