Class ChartResult

java.lang.Object
org.apache.struts2.result.StrutsResultSupport
org.apache.struts2.dispatcher.ChartResult
All Implemented Interfaces:
Serializable, Result, StrutsStatics

public class ChartResult extends StrutsResultSupport

A custom Result type for chart data. Built on top of JFreeChart. When executed this Result will write the given chart as a PNG or JPG to the servlet output stream.

This result type takes the following parameters:

  • value - the name of the JFreeChart object on the ValueStack, defaults to 'chart'.
  • type - the render type for this chart. Can be jpg (or jpeg) or png. Defaults to png.
  • width (required) - the width (in pixels) of the rendered chart.
  • height (required) - the height (in pixels) of the rendered chart.

Example:

 
 public class ExampleChartAction extends ActionSupport {

            private JFreeChart chart;

            public String execute() throws Exception {
                    // chart creation logic...
                    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);

                    return SUCCESS;
            }

      // this method will get called if we specify <param name="value">chart</param>
            public JFreeChart getChart() {
                    return chart;
            }
  }

 <result name="success" type="chart">
   <param name="value">chart</param>
   <param name="type">png</param>
   <param name="width">640</param>
   <param name="height">480</param>
 </result>
 
 
See Also:
  • Constructor Details

    • ChartResult

      public ChartResult()
    • ChartResult

      public ChartResult(org.jfree.chart.JFreeChart chart, String height, String width)
  • Method Details

    • getHeight

      public String getHeight()
    • setHeight

      public void setHeight(String height)
    • getWidth

      public String getWidth()
    • setWidth

      public void setWidth(String width)
    • getType

      public String getType()
    • setType

      public void setType(String type)
    • getValue

      public String getValue()
    • setValue

      public void setValue(String value)
    • getChart

      public org.jfree.chart.JFreeChart getChart()
    • setChart

      public void setChart(org.jfree.chart.JFreeChart chart)
    • doExecute

      public void doExecute(String finalLocation, ActionInvocation invocation) throws Exception
      Executes the result. Writes the given chart as a PNG or JPG to the servlet output stream.
      Specified by:
      doExecute in class StrutsResultSupport
      Parameters:
      invocation - an encapsulation of the action execution state.
      Throws:
      Exception - if an error occurs when creating or writing the chart to the servlet output stream.