JfreeChart整合struts2

1.開發JfreeChart需要Jcommon,而這兩個文件下載下來後是沒有javadoc文檔的,需要ant工具來執行壓縮包中ant目錄下的文件。

首先下載ant,然後安裝。

To get up and running with the binary edition of Ant quickly, follow these steps:

  1. 1.Make sure you have a Java environment installed, See System Requirements for details.
  2. 2.Download Ant. See Binary Edition for details.
  3. 3.Uncompress the downloaded file into a directory.
  4. 4.Set environmental variables JAVA_HOME to your Java environment, ANT_HOME to the directory you uncompressed Ant to, and add ${ANT_HOME}/bin (Unix) or %ANT_HOME%/bin (Windows) to your PATH. See Setup for details.
  5. 5.Optionally, from the ANT_HOME directory run ant -f fetch.xml -Ddest=system to get the library dependencies of most of the Ant tasks that require them. If you don't do this, many of the dependent Ant tasks will not be available. See Optional Tasks for details and other options for the -Ddest parameter.
  6. 6.Optionally, add any desired Antlibs. See Ant Libraries for a list.

安裝好ant後,用命令提示符到jfreechart-1.0.13/ant目錄,輸入“ant javadoc”,ant就會自動執行操作將javadoc添加到jfreechart-1.0.13目錄中,jcommon也是同樣操作。

2.struts整合jfreechart。

package myapp.actions;

import org.apache.commons.lang.xwork.math.RandomUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

import com.opensymphony.xwork2.ActionSupport;

public class ViewModerationChartAction 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 super.SUCCESS;
    }

    public JFreeChart getChart() {
        return chart;
    }

}

struts.xml文件配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<package name="default" namespace="/" extends="struts-default,jfreechart-default ">
<action name="viewModerationChart" class="myapp.actions.ViewModerationChartAction">
  <result name="success" type="chart">
    <param name="width">400</param>
    <param name="height">300</param>
  </result>
</action>

</package>
</struts>

引入jar包jfreechart-1.0.13.jar、jcommon-1.0.13.jar、struts2-jfreechart-plugin-2.2.1.jar。

在tomcat中部署,輸入地址http://localhost:8080/TestJfreeChart/viewModerationChart.action,顯示結果如下

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章