struts2和jFreeChart整合实例
来源:互联网 发布:淘宝网店购买 编辑:程序博客网 时间:2024/05/27 20:11
将jFreeChart和struts2整合后,对jFreeChart统计图表的开发有一定的简化作用。
下面以实例的形式展示jFreeChart如何与struts2整合
1、新建一个web工程Struts2_JFreeChart;
2、将struts2-jfreechart-plugin-2.1.8.1.jar文件和struts2相关的文件一同引入程序的WEB-INF/lib下;
3、在com.strurs2.action包下新建jFreeChartAction类,定义统计图表属性名为chart(乌龟的屁股----规定),并生成统计方法,代码如下:
package com.struts2.actions;import java.awt.Font;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PiePlot3D;import org.jfree.chart.title.LegendTitle;import org.jfree.chart.title.TextTitle;import org.jfree.data.general.DefaultPieDataset;import com.opensymphony.xwork2.ActionSupport;public class JFreeChartAction extends ActionSupport { // 用于输出统计图表的属性必须是chart private JFreeChart chart; // 返回JFreeChart统计图表的getter方法 public JFreeChart getChart() { chart = ChartFactory.createPieChart3D("机电销量统计图", // 图表标题 getDataset(), // 数据 true, // 是否显示图例 false,// 是否显示工具提示 false// 是否生成URL ); // 重新设置图表标题,改变字体 chart.setTitle(new TextTitle("机电销量统计图", new Font("黑体", Font.ITALIC, 22))); // 取得统计图表的第一个图例 LegendTitle legendTitle = chart.getLegend(0); // 改变图例的字体 legendTitle.setItemFont(new Font("宋体", Font.BOLD, 14)); // 获得饼图的Plot对象 PiePlot3D plot3D = (PiePlot3D) chart.getPlot(); // 设置饼图各部分的标签字体 plot3D.setLabelFont(new Font("隶书", Font.BOLD, 18)); // 设定背景透明度(0-1.0之间) plot3D.setBackgroundAlpha(0.9f); // 设定前景透明度(0-1.0之间) plot3D.setForegroundAlpha(0.5f); return chart; } // 返回饼图的底层Dataset的工具方法 private DefaultPieDataset getDataset() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("联想笔记本电脑G450", 2000); dataset.setValue("索尼手机", 1900); dataset.setValue("诺基亚手机", 1980); dataset.setValue("戴尔笔记本", 1230); return dataset; }}
4、在struts2的配置文件(struts.xml)中配置该action,需要配置类型为chart的result,其代码如下:
<?xml version="1.0" encoding="UTF-8" ?><!-- 指定拦截器的DTD信息 --><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts><!-- 通过常量配置Struts2所使用的解码集 --><constant name="struts.i18n.encoding" value="gbk" /><constant name="struts.devMode" value="true" /><!-- 配置包,继承jfreechart-default包 --><package name="jfreechart" namespace="/jfreechart" extends="jfreechart-default"> <!-- 定义一个名为 jfreeChart的Action--> <action name="jfreeChart" class="com.struts2.actions.JFreeChartAction"> <result type="chart"> <!-- 定义JFreeChart报表的大小 --> <param name="width">800</param> <param name="height">600</param> </result> </action></package></struts>
5、在WEB-INF/lib目录下的web.xml文件中配置struts2控制器-FileDispatcher类。代码如下:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" 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_2_5.xsd"> <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>/DisplayChart</url-pattern> </servlet-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
6、在WebContent目录下新建jFreeChart.jsp页面,在页面中请求jFreeChartAction类,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%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>在Struts 2应用中使用JFreeChart</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> </head> <body> <img src="jfreechart/jfreeChart.action" border="0"> </body></html>
7、运行jFreeChart.jsp即可以看到相应的结果
- struts2和jFreeChart整合实例
- Struts2 JFreeChart 实例整合
- Struts2 JFreeChart 实例整合
- Struts2 JFreeChart 实例整合教程
- Struts2整合JFreeChart图表
- struts2整合jfreechart
- Struts2-整合JFreeChart
- struts2整合jfreechart
- Struts2整合JfreeChart
- struts2整合JFreeChart
- JfreeChart整合struts2
- JfreeChart整合struts2
- Struts2整合JFreeChart
- JFreechart Struts2 报表整合
- struts2整合jfreechart
- struts2整合JFreeChart
- JFreeChart(与Struts2整合)
- struts2整合jfreechart
- 设计模式之策略模式
- RUI手机桌面,开年大更新绝对值得拥有!
- 判断当前焦点在哪个控件上(MFC)
- Stanford机器学习---第十五讲. 大规模机器学习
- ubuntu查看系统资源占用(内存,cpu和进程)
- struts2和jFreeChart整合实例
- 看《App Store创赢艺术:Apple开发的赚钱机密》这本书
- 刀尖上跳艳舞的中国金融
- excel 怎么自动往下生成编号
- Xcode 4.5下svn客户端使用指南
- SqlServer在视图上创建索引的条件
- Cocos2d-x里Javascript开发的一些要点
- hdu 1098 Ignatius's puzzle
- MIME类型