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" class="com.fsj.action.ChartTestAction"> 
      <result name="success" 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" class="org.apache.struts2.dispatcher.ChartResult" />
	</result-types>
	<action name="statisticAct" class="statisticAction">
		<result name="input">/WEB-INF/pages/admin/statistic/statistic_input.jsp</result>
		<result name="success" type="chart">
			<param name="width">900</param>
			<param name="height">400</param>
		</result>
	</action>

</package>

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值