`

《研磨struts2》第十八章 结合JFreeChart 之 18.3 Struts2结合JFreeChart

 
阅读更多

18.3 Struts2结合JFreeChart

18.3.1构建结合环境

有了前面的基础,接下来可以来把Struts2与JFreeChart结合使用了。

先来构建结合开发的环境,很简单,只有一步工作,把struts2-jfreechart-plugin-2.1.8.1.jar拷入到web工程的lib下就可以了。

18.3.2 Struts2结合JFreeChart来画饼图

1:实现Action

JFreeChart作为一种结果类型,可以作为某个Action的Result。接下来就来编写一个Action,结合着JFreeChart来实现画饼图。

编写这种Action和编写普通的Action大大的不同。这种Action不需要execute方法,而是需要一个getChart方法,这个方法必须是公有的,且返回一个JFreeChart对象。

示例代码如下:

 

java代码:
  1. public class PieAction  extends ActionSupport {   
  2.     private static final Font font = new Font("simsun",Font.ITALIC,22);  
  3.     private static DefaultPieDataset getDataset(){  
  4.         DefaultPieDataset dataset = new DefaultPieDataset();  
  5.         dataset.setValue("本科生"50);  
  6.         dataset.setValue("研究生"30);  
  7.         dataset.setValue("博士"20);  
  8.         return dataset;  
  9.     }  
  10.     public JFreeChart getChart(){  
  11.         final DefaultPieDataset dataset = getDataset();  
  12.         JFreeChart chart = ChartFactory.createPieChart("XX公司员工学历比例图",  
  13.                 dataset,  
  14.                 true,//是否有标题  
  15.                 false,//是否有悬浮提示  
  16.                 false//是否有连接  
  17.             );  
  18.           
  19.         chart.setTitle(new TextTitle("XX公司员工学历比例图",font));  
  20.           
  21.         //重新设置图例的字体,保证汉字的显示  
  22.         LegendTitle legend = chart.getLegend();  
  23.         legend.setItemFont(font);  
  24.           
  25.         //重新设置统计表对象的字体,保证汉字的显示  
  26.         PiePlot plot = (PiePlot) chart.getPlot();  
  27.         plot.setBackgroundAlpha(0.9f);  
  28.         plot.setLabelFont(font);  
  29.           
  30.         return chart;  
  31.     }  
  32. }  

观察上面的两个方法getDataset和getChart,其实现方式和前面在Java中使用JFreeChart来画饼图的实现是一模一样的。仍然是getDataset方法提供饼形图要显示的数据,getChart方法用来设置饼形图的相关信息(如图例的字体,标题的字体等等)。

2:配置struts.xml

接下来看看在struts.xml中,Struts2是如何跟JFreeChart结合的,示例代码如下:

 

java代码:
  1. <package name="helloworld" extends="jfreechart-default">  
  2.     <action name="jfreechartAction" class="cn.javass.chart.PieAction">  
  3.         <result type="chart">  
  4.             <param name="width">400</param>  
  5.             <param name="height">300</param>  
  6.         </result>  
  7.     </action>  
  8. </package>  

在配置文件中,我们的包继承了jfreechart-default包;在我们的包中使用了jfreechart-default包中的chart这种<result-type>;然后通过给<result>元素设置<param>子元素来限定图形化报表的宽和高。

3:运行测试一下

       在IE浏览器中输入http://localhost:9080/helloworld/jfreechartAction.action,可以看到结果,如下图所示:

图18.4 使用Struts2与JFreeChart结合画出的饼图

18.3.3 Struts2结合JFreeChart来画柱状图

1:实现Action

跟上面Struts2结合JFreeChart来画饼图的过程类似,都是不需要execute方法的,都需要一个getChart方法,这个方法必须是公有的,且返回一个JFreeChart对象。

示例代码如下:

 

java代码:
  1. public class BarAction extends ActionSupport {  
  2.     private static final Font font = new Font("simsun",Font.ITALIC,22);  
  3.     private static DefaultCategoryDataset getDataset(){  
  4.         DefaultCategoryDataset  dataset = new DefaultCategoryDataset();  
  5.         dataset.setValue(50,"本科生","本科生");  
  6.         dataset.setValue(30,"研究生","研究生");  
  7.         dataset.setValue(20,"博士","博士");  
  8.         return dataset;  
  9.     }  
  10.     public JFreeChart getChart(){  
  11.         final DefaultCategoryDataset dataset = getDataset();  
  12.         JFreeChart chart = ChartFactory.createBarChart3D("XX公司员工学历比例图","学历","人数",  
  13.                 dataset,  
  14.                 PlotOrientation.VERTICAL,  
  15.                 true,  
  16.                 false,  
  17.                 false  
  18.             );  
  19.           
  20.         chart.setTitle(new TextTitle("XX公司员工学历比例图",font));  
  21.           
  22.         //重新设置图例的字体,保证汉字的显示  
  23.         LegendTitle legend = chart.getLegend();  
  24.         legend.setItemFont(font);  
  25.           
  26.         //设置X轴坐标上的文字的字体  
  27.         chart.getCategoryPlot().getDomainAxis().setTickLabelFont(font);  
  28.         //设置X轴坐标标题的字体  
  29.         chart.getCategoryPlot().getDomainAxis().setLabelFont(font);  
  30.           
  31.         //设置Y轴坐标上的文字的字体  
  32.         chart.getCategoryPlot().getRangeAxis().setTickLabelFont(font);  
  33.         //设置Y轴坐标标题的字体  
  34.         chart.getCategoryPlot().getRangeAxis().setLabelFont(font);  
  35.           
  36.         return chart;  
  37.     }         
  38. }  

       观察上面的两个方法getDataset和getChart,其实现方式和前面在Java中使用JFreeChart来画柱状图的实现是一模一样的。仍然是getDataset方法提供饼形图要显示的数据,getChart方法用来设置饼形图的相关信息(如图例的字体,标题的字体等等)。

2:配置struts.xml

struts.xml中的配置和上面画饼图的方式也是一样的,示例代码如下:

 

java代码:
  1. <package name="helloworld" extends="jfreechart-default">  
  2.     <action name="jfreechartAction" class="cn.javass.chart.BarAction">  
  3.         <result type="chart">  
  4.             <param name="width">400</param>  
  5.             <param name="height">300</param>  
  6.         </result>  
  7.     </action>  
  8. </package>  

3:运行测试一下

       在IE浏览器中输入http://localhost:9080/helloworld/jfreechartAction.action,可以看到结果,如下图所示:

图18.5 使用Struts2与JFreeChart结合画出的柱状图

 

 

私塾在线网站原创《研磨struts2》系列

转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4170.html

欢迎访问http://sishuok.com获取更多内容

6
10
分享到:
评论

相关推荐

    struts2结合jfreechart框架出现图形所需的包

    Struts2和JFreeChart是两个在Java Web开发中广泛使用的框架。Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理HTTP请求和管理业务逻辑,而JFreeChart则是一个强大的库,用于创建各种图表,如线图、...

    struts2+jfreechart

    Struts2和JFreeChart是两个在Java Web开发中广泛使用的开源库。Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建可维护性和可扩展性极高的Web应用程序,而JFreeChart则是一个用于生成高质量图表的...

    struts2 + jfreechart demo

    Struts2和JFreeChart是两个在Java Web开发中广泛使用的框架和技术。Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建结构化的Web应用程序,而JFreeChart是一个开源图表库,能够生成各种高质量的图表...

    struts2结合jfreechart

    以上就是关于“Struts2结合JFreechart”的基本知识点。通过这种方式,开发者可以在Struts2驱动的Web应用中轻松实现数据的可视化,提升用户体验。这个资源包中的代码示例、jar包和说明文档将帮助你快速理解和实践这个...

    struts2与jfreechart整合

    Struts2和JFreeChart是两个在Java开发中常用的库。Struts2是一个基于MVC设计模式的Web应用框架,用于构建动态、数据驱动的Java Web应用,而JFreeChart则是一个强大的图表生成库,可以生成各种类型的图表,如柱状图、...

    Struts2与Jfreechart结合产生报表统计图

    在企业级应用中,通常需要生成各种报表和统计图表来展示数据,而Struts2和JFreeChart的结合就提供了解决这一需求的有效途径。 Struts2是一个基于MVC设计模式的Web应用框架,它简化了Java Servlet和JavaServer Pages...

    Struts2 与JFreeChart结合使用实例

    结合Struts2和JFreeChart,开发者可以创建交互式、数据丰富的Web应用,将后台处理的数据以图形方式展示给用户,提升用户体验。下面我们将深入探讨如何在Struts2框架中集成JFreeChart,并通过一个实际的运行实例来...

    JFreeChart(Struts1+jFreeChart)

    综上所述,"JFreeChart(Struts1+jFreeChart)"的整合是Java Web开发中的一个典型应用场景,它结合了Struts1的MVC架构优势和JFreeChart的图表绘制能力,实现了动态数据的可视化展示。在实际项目中,还需要考虑如何优化...

    JFreeChart+Struts2实践例子

    总的来说,JFreeChart和Struts2的结合使用,使得Java开发者能够方便地在Web应用中实现各种复杂的图表功能,从而提升数据可视化的质量和用户体验。这五种实践方法覆盖了从静态展示到动态交互,从直接输出到异步加载的...

    STRUTS2结合jfreechart详细例子

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织和控制MVC(模型-视图-控制器)架构的方式,使得...通过学习和实践这个例子,你可以熟练掌握Struts2与JFreeChart的结合,提升你的Web应用的数据可视化能力。

    struts2整合 jfreechart 实现报表

    首先,整合Struts2和JFreeChart的首要步骤是确保在项目中引入JFreeChart和相关依赖。你需要在你的Maven或Gradle配置文件中添加JFreeChart的依赖,通常为以下形式: ```xml &lt;groupId&gt;org.jfree &lt;artifactId&gt;...

    投票系统JSP +JavaBean+Struts2+JDBC+JFreeChart

    这是一个获取用户信息的投票系统,包含需求及代码,可以了解投票系统的基本需求,如何分析和设计数据库、使用JSP +JavaBean+Struts2+JDBC+JFreeChart进行开发、学会MySQL数据库的基本使用、使用JFreeChart画柱状图、...

    struts2-jfreechart-plugin-2.1.6.jar.zip_jfreechart struts2_jfree

    "struts2-jfreechart-plugin-2.1.6.jar.zip_jfreechart struts2_jfree" 这个标题表明这是一个关于Struts2与JFreeChart结合使用的插件,版本为2.1.6。这个插件简化了在Struts2应用中使用JFreeChart的过程,使得开发者...

    研磨Struts2

    ### 知识点一:Struts2入门(MVC HelloWorld) #### 1.1 Struts2简介 ...以上就是关于“研磨Struts2”的主要知识点梳理,通过深入学习这些内容,开发者可以更好地掌握Struts2框架的核心技术和实践技巧。

    jfreechart与struts2的整合

    将JFreeChart与Struts2整合,可以将动态生成的图表展示在Web页面上,为用户提供直观的数据展示。 首先,我们需要理解JFreeChart的基本用法。JFreeChart提供了丰富的API来创建和定制图表。例如,要创建一个简单的...

    struts2-jfreechart-plugin-2.1.8.1.jar

    struts2-jfreechart-plugin-2.1.8.1.jar

    struts2整合JFreechart

    struts2整合JFreechart: jcommon-1.0.16.jar jfreechart-1.0.13.jar struts2-jfreechart-plugin-2.0.11.jar 导成图片操作说明

    JfreeChart与Struts2结合使用例子

    【JfreeChart与Struts2结合使用】 JFreeChart是一个强大的Java图表库,它提供了丰富的图表类型,如柱状图、饼图、折线图、散点图等,用于数据可视化。Struts2是一个流行的MVC框架,常用于构建企业级Web应用。将...

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

    本系统利用了Java技术栈中的Spring、Struts2、Hibernate框架,结合Ajax异步通信技术和JFreeChart数据可视化库,构建了一个高效、易用的广告管理系统。下面将详细介绍这些技术及其在系统中的应用。 1. **Spring框架*...

    Struts2+JFreeChart开发所用Jar包

    Struts2和JFreeChart是两个在Java Web开发中广泛使用的框架和库。Struts2是一种基于MVC设计模式的开源框架,用于构建企业级Web应用程序,而JFreeChart则是一个强大的图表生成库,能够创建各种类型的图表,如饼图、...

Global site tag (gtag.js) - Google Analytics