首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

JFreeChart在Web下的应用

2012-11-25 
JFreeChart在Web上的应用首先是把jar包:jcommon-1.0.16.jar和jfreechart-1.0.13.jar复制到Web应用程序目录

JFreeChart在Web上的应用

首先是把jar包:jcommon-1.0.16.jar和jfreechart-1.0.13.jar复制到Web应用程序目录中的/WEB-INF/lib目录. 并且在web.xml文件中添加如下代码:

<servlet>    <servlet-name>DisplayChart</servlet-name>    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class></servlet><servlet-mapping>    <servlet-name>DisplayChart</servlet-name>    <url-pattern>/servlet/DisplayChart</url-pattern></servlet-mapping>

?

这样,就可以利用JFreeChart插件生成动态统计图表了.

要先创建JFreeChart对象,然后

String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session); String chartURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 

?把chartURL放入作用域,就可以在页面上使用了.

也可以生成本地图片使用.

?

?

?

?

如果是结合struts2使用,需要struts2-jfreechart-plugin-2.1.6.jar,并且在action中必需有一个名为chart的JFreeChart 对象,名字不能错,

    /**       * 定义JFreeChart对象 注意在这里JFreeChart对象名只能为chart          *        */      private JFreeChart chart;         public JFreeChart getChart() {           return chart;       }         public void setChart(JFreeChart chart) {           this.chart = chart;       }         @Override      public String execute() throws Exception {            //实例化chart        this.chart = getPieChart();            return SUCCESS;       }   

?

在struts的配置文件中有两种方法:一是让action所在的包继承jfreechart-default包

<package name="chart" extends="jfreechart-default">     <action name="test" type="chart">       <param name="width">800 </param>       <param name="height">600 </param>       </result>     </action>     </package> 

?还有一种方法是增加一个结果类型<result-types>

<package name="def" extends="struts-default" ><!-- 统计,result-type 必须放在所有action之前-->           <result-types><result-type name="chart" /></result-types><action name="statisticAct" type="chart"><param name="width">900</param><param name="height">400</param></result></action></package>

?

?页面上就可以直接访问该action了:?<img?alt="jfreechart"?src="statisticAct"/>??

热点排行