Bonjour à tous,
J'essaye actuellement d'intégrer des objets JFreeChart dans mon application implémentant le framework struts2. Je pense avoir suivi toutes les étapes mais il y'a une chose que je n'arrive pas à comprendre : comment intégrer le diagramme dans ma jsp une fois le traitement effectué ?
Voici la partie de mon code qui concerne l'intégration JFreeChart :
struts.xml
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 <package name="struts" namespace="/" extends="struts-default"> ... Toutes mes actions 'normales' </package> <package name="charts" namespace="/" extends="struts-default"> <result-types> <result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"/> </result-types> <action name="SetupChart" class="org.chic.inoweb.view.actions.treatments.SetupChartAction"> <result name="success" type="chart"> <param name="value">chart</param> <param name="type">png</param> <param name="height">150</param> <param name="width">200</param> </result> </action> </package>SetupChartAction.javaEt enfin...
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 public class SetupChartAction extends ActionSupport { private static Logger _logger = Logger.getLogger(SetupChartAction.class); private JFreeChart chart = null; @Override public String execute() throws Exception { _logger.debug("[doExecute] : BEG"); XYSeries dataSeries = new XYSeries(new Integer(1)); //pass a key for this serie for (int i = 0; i <= 100; i++) { dataSeries.add(i, RandomUtils.nextInt()); } XYSeriesCollection xyDataset = new XYSeriesCollection(dataSeries); ValueAxis xAxis = new NumberAxis("Raw Marks"); ValueAxis yAxis = new NumberAxis("Moderated Marks"); // set my chart variable chart = new JFreeChart( "Moderation Function", JFreeChart.DEFAULT_TITLE_FONT, new XYPlot( xyDataset, xAxis, yAxis, new StandardXYItemRenderer(StandardXYItemRenderer.LINES)), false); chart.setBackgroundPaint(java.awt.Color.white); _logger.debug("[doExecute] : END"); return SUCCESS; } public JFreeChart getChart() { return chart; } }
MaPage.jspEn fait, l'action n'est même appelé (pas de trace du logger). Je ne vois donc vraiment pas comment faire ! J'ai donc sûrement dû oublier une étape primordiale mais je ne vois pas laquelle...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <html> <head>...</head> <body> <s:action name="/SetupChart" executeResult="true" namespace="/" /> </body> </hml>
Merci d'avance pour votre aide.
Partager