struts2 + jfreechart整合:
1、配置环境:
在struts2中,默认的struts-default.xml中,并没有包含chart的result-type,它是插件的形式使用的。
把 struts2的解压包的lib里找到struts2-jfreechart-plugin-2.1.8.1.jar,拷贝到你的项目的 classpath里,
因为这个插件里的文件struts-plugin.xml里有一个chart的result-type。内容如下:
<package name="jfreechart-default" extends="struts-default">
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
<param name="height">150</param>
<param name="width">200</param>
</result-type>
</result-types>
</package>
同时把jfreechart的库文件jfreechart-1.0.13.jar和jcommon-1.0.16.jar拷贝到你的项目的 classpath里。
2、修改web.xml,增加下面的struts2的配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、在src目录下增加新建一个struts.xml配置文件,其主要内容如下:
<!--
关于extends继承jfreechart-default这点请大家注意
因为在struts-default这个包里并没有result-type为chart的 chart
定义在前面我们导入的struts2-jfreechart-plugin-2.1.8.jar 下面的struts-plugin.xml文件中
-->
<package name="jfreechart" extends="jfreechart-default">
<action name="jfreechart" class="org.usc.actions.JfreeChartAction">
<result name="success" type="chart">
<param name="width">600</param>
<param name="height">400</param>
</result>
</action>
</package>
4、写测试页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>jfreechart</title>
</head>
<body>
<img alt="jfreechart" src="jfreechart.action"/>
</body>
</html>
5、在你的action代码里,返回一个JFreeChart对象即可:
/**
* File : JfreeChartAction.java
* Author : zqding
* Date : 2010-7-27
* Version:
* Desc :
*/
package org.usc.actions;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import com.opensymphony.xwork2.ActionSupport;
public class JfreeChartAction extends ActionSupport {
/**
* 定义JFreeChart对象 大家请注意在这里JFreeChart对象名只能为chart
* 不能是别的, 关于这点大家可以上struts2网站上面查看一下
* http://struts.apache.org/2.x/docs/jfreechart-plugin.html
*/
private JFreeChart chart;
public JFreeChart getChart() {
return chart;
}
public void setChart(JFreeChart chart) {
this.chart = chart;
}
@Override
public String execute() throws Exception {
//设置数据
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Java", new Double(43.2));
data.setValue("Visual Basic", new Double(1.0));
data.setValue("C/C++", new Double(17.5));
data.setValue("Android", new Double(60.0));
//设置字体及生成的图片格式设置略,请参照API文档
//生成JFreeChart对象
chart = ChartFactory.createPieChart("Programme Language", data, true,true, false);
return SUCCESS;
}
}
6、发布到应用服务器,进行测试。
http://localhost:9090/SSHDemo/jfreechart.jsp
如下图:
分享到:
相关推荐
本程序主要是struts2和JFreeChart整合!如果有什么疑问可以直接给我留言!!
Struts+jfreeChart整合注意事项以及代码实现
struts2整合jfreechart简单实用实例,包含饼状图、柱状图、折线图.
struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合.zip
struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合 包太大了,加起来50多m,这里不给上传...到时缺什么包加上去就好了
struts2整合 jfreechart 实现报表组件
NULL 博文链接:https://jackaney.iteye.com/blog/1041025
struts2整合JFreechart: jcommon-1.0.16.jar jfreechart-1.0.13.jar struts2-jfreechart-plugin-2.0.11.jar 导成图片操作说明
这是一个Struts2与JFreechart的整合实例,很简单,看完也就会啦
Struts2整合JFreeChart 实现柱状图表、Struts2整合JFreeChart 实现柱状图表、Struts2整合JFreeChart 实现柱状图表。
使用JFreeChart,必须调用在web-inf目录下导入jfreechart.jar,和jcommon.jar包 使用jfreechart-1.0.13.jar查看图表时中文乱码,降低jfreechart版本ok 显示图表时都可以在获取JfreeChart对象方法中使用3D方式 ...
一个完整的JSP struts2整合jfreechart的例子
liyong struts2与jfreechart的整合 生成统计图表
Struts2应用开发系列Struts2整合JFreeChart
Struts2应用开发系列Struts2整合JFreeChart
Struts2应用开发系列Struts2整合JFreeChart
Struts2应用开发系列Struts2整合JFreeChart
Struts2应用开发系列Struts2整合JFreeChart
Struts2应用开发系列Struts2整合JFreeChart