天天看点

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,显示结果如下

JfreeChart整合struts2