`
chaoyi
  • 浏览: 309184 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring+Struts+JFreeChart 自动生成统计图

阅读更多

图示:

 

LineChartAction 控制层

package cn.action;
import java.awt.Color;
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class LineChartAction extends ActionSupport {
	private JFreeChart chart;
	public String execute() throws Exception{
		String title = "2014年股票K线走势";
		//建立一个默认的种类数据集
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.addValue(52.3d, "", "1M");
		dataset.addValue(51.3d, "", "2M");
		dataset.addValue(52.3d, "", "3M");
		dataset.addValue(43.3d, "", "4M");
		dataset.addValue(24.3d, "", "5M");
		dataset.addValue(35.3d, "", "6M");
		dataset.addValue(12.3d, "", "7M");
		dataset.addValue(42.3d, "", "8M");
		dataset.addValue(27.3d, "", "9M");
		dataset.addValue(55.3d, "", "10M");
		dataset.addValue(67.3d, "", "11M");
		dataset.addValue(30.3d, "", "12M");
		chart = ChartFactory.createLineChart(title, "月份", "增长率", 
				dataset, PlotOrientation.VERTICAL, false, true, true);
		//设置标题的字体
		chart.setTitle(new TextTitle(title,new Font("微软雅黑", Font.BOLD, 20)));
		//加入一个子标题
		chart.addSubtitle(new TextTitle("财年分析",new Font("宋体", Font.BOLD, 15)));
		CategoryPlot plot = chart.getCategoryPlot();
		//y 方向显示字体
		ValueAxis y = plot.getRangeAxis();
		y.setTickLabelFont(new Font("Arial", Font.BOLD, 12));
		y.setLabelFont(new Font("宋体", Font.BOLD, 14));
		//x 方向
		CategoryAxis x = plot.getDomainAxis();
		x.setTickLabelFont(new Font("Arial", Font.BOLD, 14));
		x.setLabelFont(new Font("宋体", Font.BOLD, 14));
		//线上显示数字
		LineAndShapeRenderer lineAndShapeRenderer = (LineAndShapeRenderer)plot.getRenderer();
		lineAndShapeRenderer.setShapesVisible(true);
		lineAndShapeRenderer.setItemLabelFont(new Font("宋体", Font.BOLD, 11));
		lineAndShapeRenderer.setDrawOutlines(true);
		lineAndShapeRenderer.setUseFillPaint(true);
		lineAndShapeRenderer.setFillPaint(Color.GRAY);
		lineAndShapeRenderer.setItemLabelsVisible(true);
		lineAndShapeRenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
		return SUCCESS;
	}
	public JFreeChart getChart() {
		return chart;
	}
	public void setChart(JFreeChart chart) {
		this.chart = chart;
	}
}

 

web.xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

 

struts.xml 配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="Fav" extends="struts-default" namespace="/image">
		<!-- 自定义结果类型 -->
		<result-types>
			<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult"></result-type>
		</result-types>
		<!-- 相当于 1 张图片 -->
		<action name="pieChart" class="cn.action.LineChartAction">
			<result name="success" type="chart">
				<param name="width">700</param>
				<param name="height">450</param>
			</result>
		</action>
	</package>
</struts>    

 

index.jsp 页面

<%@ 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>饼图显示</title>
</head>
<body>
<img alt="饼图显示" src="image/pieChart.action">
</body>
</html>

 

效果图:

 

 

 

 

  • 大小: 52.8 KB
  • 大小: 41.6 KB
分享到:
评论

相关推荐

    spring+struts2+hibernate+ajax+jfreechart 广告管理系统

    5. **JFreeChart库**:JFreeChart是一款开源的Java图表库,可以生成多种类型的图表,如折线图、柱状图、饼图等。在广告管理系统中,JFreeChart用于展示广告投放效果、数据分析等,帮助管理者直观地理解广告数据,...

    S2SH+jfreechart+ajax动态生成统计图

    在本文中,我们将深入探讨如何使用S2SH(Struts2、Spring、Hibernate)框架,结合JFreeChart库和Ajax技术,动态生成统计图表。首先,我们需要理解这些组件的基本概念: **S2SH框架**: S2SH是Web开发中的一个流行...

    投票系统struts2.0+hibernate3.2+spring2.5+sqlserver2005数据库,+JFReeChart饼图,柱状图显示。

    JFreeChart是一个开源的Java图表库,它可以生成多种类型的图表,如饼图、柱状图、线图等。在投票系统中,JFreeChart用于根据投票数据生成统计图表,帮助用户直观地了解投票结果。开发者可以通过设置各种参数来自定义...

    struts2整合JFreeChart

    Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中,而JFreeChart则是一个用于创建统计图表的开源库。两者整合可以为Web应用提供丰富的图表展示功能,如饼图、柱状图和时间序列图等。...

    struts2结合jfreechart

    JFreeChart则是一个强大的Java库,用于生成各种类型的图表,如柱状图、饼图、时间序列图等,非常适合于数据可视化。在Struts2中集成JFreeChart,可以让我们在Web应用中方便地展示动态生成的数据。 **1. JFreeChart...

    CRM:CRM是基于struts2+spring+hibernate+JfreeChart框架开发的一套客户关系管理系统

    在CRM系统中,JFreeChart可能被用来生成各种统计报告,如客户分布图、销售趋势图等,帮助管理者直观地理解业务状况。 在"CRM-master"这个压缩包中,很可能包含了CRM系统的源代码,包括Struts2的Action类、Spring的...

    使用struts2+spring+hibernate开发的小项目(客户管理系统)

    在这个项目中,Jfreechart可能被用来生成客户的统计报告,比如客户数量按月份的增长趋势图,或者不同类型的客户比例饼图,这些图表可以直观地展示数据,帮助管理者更好地理解和分析客户情况。 项目的文件名"crm...

    JfreeChart编码

    你也可以结合其他服务器端技术,如Spring MVC或Struts,实现图表的动态生成。 ### 10. 示例代码 压缩包中的"编码解决方案"可能包含了详细的示例代码,这些代码将帮助你理解如何在实际项目中使用JFreeChart。建议...

    数据采集项目源码

    数据采集项目源码是一个基于Java技术栈的项目,主要运用了Spring、Struts2和Hibernate三大框架,结合JFreeChart库来实现数据可视化。这个项目的核心目标是设计和实现一个功能丰富的调查问卷系统,能够帮助用户自定义...

    jfree struts

    JFreeChart是一个强大的图表生成库,而Struts则是一款流行的MVC(模型-视图-控制器)框架,用于构建企业级的Java Web应用。通过将这两者结合,JFreeStruts使得在Struts应用中创建和展示动态图表变得更加简单和高效。...

    jfreechartjar包

    1. **多种图表类型**:JFreeChart支持包括折线图、柱状图、饼图、散点图、面积图、甘特图、热力图等多种图表类型,满足了不同类型的统计和分析需求。 2. **定制化能力**:通过丰富的API,开发者可以自由定制图表的...

    Java SSH框架显示饼图和柱形图

    JFreeChart是一个强大的Java图形库,可以生成多种类型的统计图表,包括饼图和柱形图。 生成饼图的步骤大致如下: 1. 使用Hibernate查询数据库,获取需要展示的数据。 2. 将数据转化为JFreeChart所需的格式,如设置...

    S2SH+Jquery+oracle+jfreecahrt项目实例

    jFreeChart是一个Java图表库,用于生成各种类型的统计图表,如折线图、柱状图、饼图等。在本项目中,jFreeChart可能用于生成报表或者数据显示,为用户提供直观的数据分析视图。 总的来说,这个项目实例展示了如何...

    Struts应用开发完全手册源代码

    14. **统计网站流量图**:书中可能包含如何使用Struts创建统计功能,以及如何可视化展示网站流量数据,例如利用图表库如JFreeChart生成动态图表。 通过阅读《Struts应用开发完全手册》并实践提供的源代码,开发者...

    s2sh实现登录验证码,分页,报表,导出到excel

    JFreeChart是一个强大的Java图表库,它可以生成各种类型的图表,如柱状图、饼图、线图等。在S2SH项目中,我们可以通过JFreeChart来生成报表,例如从数据库中提取数据,转换为图表形式,以直观地展示数据统计结果。...

    学生管理系统SSH

    7. **JFreeChart连接数据库统计学生信息**:JFreeChart是一个用于Java的图表库,可以生成饼状图、柱状图等多种图表。在这里,它连接到数据库,根据学生信息生成统计图表,例如,统计各学院学生人数的饼状图,或者按...

    web项目常用jar包及说明.zip

    Struts 2需要的jar包: 1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar...统计图(JFreechart两个):jcommon-1.0.10.jar,jfreechart-1.0.6.jar

    jFreechar网页实例

    【JFreeChart网页实例】是基于Java的图表生成库JFreeChart的一个实际应用案例,它主要用于在Web环境中创建各种复杂的统计图表。这个实例项目是为了帮助开发者更好地理解和使用JFreeChart库,尤其对于初学者,提供了...

Global site tag (gtag.js) - Google Analytics