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"/>??