Class ChartResult

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

public class ChartResult extends org.apache.struts2.result.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:
  • Field Summary

    Fields inherited from class org.apache.struts2.result.StrutsResultSupport

    DEFAULT_PARAM, DEFAULT_URL_ENCODING, parseLocation

    Fields inherited from interface org.apache.struts2.StrutsStatics

    ACTION_MAPPING, HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    ChartResult(org.jfree.chart.JFreeChart chart, String height, String width)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    doExecute(String finalLocation, com.opensymphony.xwork2.ActionInvocation invocation)
    Executes the result.
    org.jfree.chart.JFreeChart
     
     
     
     
     
    void
    setChart(org.jfree.chart.JFreeChart chart)
     
    void
    setHeight(String height)
     
    void
     
    void
     
    void
     

    Methods inherited from class org.apache.struts2.result.StrutsResultSupport

    conditionalParse, conditionalParseCollection, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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, com.opensymphony.xwork2.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 org.apache.struts2.result.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.