当前位置:首页 > 开发 > Web前端 > 前端 > 正文

struts整合jfreechart

发表于: 2013-08-25   作者:chinrui   来源:转载   浏览次数:
摘要: Struts2与JFreeChart的整合 1、添加相应的jar包(除struts2所必需的包以外的包): struts2-jfreechart-plugin-2.3.12.jar jcommon-1.0.17.jar jfreechart-1.0.14.jar 2、添加相应的Action   package cn.hpu.action; import

Struts2与JFreeChart的整合

1、添加相应的jar包(除struts2所必需的包以外的包):

  1. struts2-jfreechart-plugin-2.3.12.jar
  2. jcommon-1.0.17.jar
  3. jfreechart-1.0.14.jar

2、添加相应的Action

 

package cn.hpu.action;

import java.awt.Font;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

import cn.hpu.po.Complain;
import cn.hpu.po.DDInfo;
import cn.hpu.service.ComplainService;
import cn.hpu.service.DDInfoService;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class ComplainAction extends ActionSupport {

	private ComplainService complainService;
	private DDInfoService ddInfoService;
	
	private List<Complain> complains;
	
	private List<DDInfo> satisfications;
	
	// 生成图形
	private JFreeChart chart;

	/**获取用户满意度饼状报表
	 * @author qinrui
	 * @see cn.hpu.service.ComplainService complainService
	 * @see cn.hpu.service.DDInfoService ddInfoService
	 * @return java.lang.String
	 */
	public String pieChart() {
		
		DefaultPieDataset dpd = new DefaultPieDataset();
	
		complains = complainService.loadComplains();
		satisfications = ddInfoService.loadCustomerSatisfications();
		
		for(DDInfo satisfication : satisfications) {
			
			if(satisfication.getName() != null && !"".equals(satisfication.getName().trim())) {
				
				int count = 0;
				
				for(Complain complain : complains) {
					
					if(complain.getSatisfication().getId().equals(satisfication.getId())) {
						count ++;
					}
				}
				dpd.setValue(satisfication.getName(), count);
			}
		}
		
		StandardChartTheme standardChartTheme=new StandardChartTheme("CN");    
        //设置标题字体    
        standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));    
        //设置图例的字体    
        standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));    
        //设置轴向的字体    
        standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));    
        //应用主题样式    
        ChartFactory.setChartTheme(standardChartTheme);
		
		/**生成图形
		 * 1.title java.lang.String 标题
		 * 2.dataset org.jfree.data.general.DefaultPieDataset 数据源
		 * 3.legend java.lang.Boolean 图例
		 * 4.tooltips java.lang.Boolean 工具提示信息
		 * 5.locale java.lang.Boolean 本地化
		 */
		chart = ChartFactory.createPieChart3D("客户满意度", dpd, true, true, false);
		
		return SUCCESS;
	}
	
	/**生成柱状报表
	 * @author qinrui
	 * @see cn.hpu.service.ComplainService complainService
	 * @see cn.hpu.service.DDInfoService ddInfoService
	 * @return java.lang.String
	 */
	public String barChart() {

		DefaultCategoryDataset dcd = new DefaultCategoryDataset();
	
		complains = complainService.loadComplains();
		satisfications = ddInfoService.loadCustomerSatisfications();
		
		for(DDInfo satisfication : satisfications) {
			
			if(satisfication.getName() != null && !"".equals(satisfication.getName().trim())) {
				
				int count = 0;
				
				for(Complain complain : complains) {
					
					if(complain.getSatisfication().getId().equals(satisfication.getId())) {
						count ++;
					}
				}
				dcd.setValue(count , "", satisfication.getName());
			}
		}
		
		StandardChartTheme standardChartTheme=new StandardChartTheme("CN");    
        //设置标题字体    
        standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));    
        //设置图例的字体    
        standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));    
        //设置轴向的字体    
        standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));    
        //应用主题样式    
        ChartFactory.setChartTheme(standardChartTheme);
		
		/**生成图形
		 * 1.title java.lang.String 标题
		 * 2.dataset org.jfree.data.general.DefaultPieDataset 数据源
		 * 3.legend java.lang.Boolean 图例
		 * 4.tooltips java.lang.Boolean 工具提示信息
		 * 5.locale java.lang.Boolean 本地化
		 */
		chart = ChartFactory.createBarChart("客户满意度", "满意程度", "投诉数量", dcd, PlotOrientation.VERTICAL, true, true, false);
		
		return SUCCESS;
	}
	
	public ComplainService getComplainService() {
		return complainService;
	}

	public void setComplainService(ComplainService complainService) {
		this.complainService = complainService;
	}

	public List<Complain> getComplains() {
		return complains;
	}

	public List<DDInfo> getSatisfications() {
		return satisfications;
	}

	public void setSatisfications(List<DDInfo> satisfications) {
		this.satisfications = satisfications;
	}

	public DDInfoService getDdInfoService() {
		return ddInfoService;
	}

	public void setDdInfoService(DDInfoService ddInfoService) {
		this.ddInfoService = ddInfoService;
	}

	public JFreeChart getChart() {
		return chart;
	}

	public void setChart(JFreeChart chart) {
		this.chart = chart;
	}
}

 3、配置struts.xml文件(注意要继承jfreechart-default,返回值type为chart)

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	
	<package name="authority" namespace="/" extends="jfreechart-default">
		
		<!-- 生成饼状报表 -->
		<action name="Complain_pieChart" class="cn.hpu.action.ComplainAction" method="pieChart">
			<result type="chart">
				<param name="height">300</param>
				<param name="width">400</param>
			</result>
		</action>
		
		<!-- 生成柱状报表 -->
		<action name="Complain_barChart" class="cn.hpu.action.ComplainAction" method="barChart">
			<result type="chart">
				<param name="height">300</param>
				<param name="width">400</param>
			</result>
		</action>
	</package>

</struts>

 

 

struts整合jfreechart

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
=========================================1========================== /** * 创建图表(Chart) * *
显示效果: 先引入相关的jar包: jcommon-1.0.12.jar jfreechart-1.0.9.jar struts2-jfreechart-plug
JFreechart是JAVA平台上的一个开放的图表绘制类库。完全使用JAVA语言编写的。基本上能够很直观的解决
需要用到的包 在web.xml中对struts2进行配置 <filter> <filter-name>struts2</filte
[标题]:[原]Struts2-整合JFreeChart [时间]:2009-9-3 [摘要]:JFreeChart [关键字]:浪曦视频,Struts
[标题]:[原]Struts2-整合JFreeChart [时间]:2009-9-3 [摘要]:JFreeChart [关键字]:浪曦视频,Struts
[标题]:[原]Struts2-整合JFreeChart [时间]:2009-9-3 [摘要]:JFreeChart [关键字]:浪曦视频,Struts
显示效果: 先引入相关的jar包: jcommon-1.0.12.jar jfreechart-1.0.9.jar struts2-jfreechart-plug
需要的包: struts2-jfreechart-plugin-2.2.1.1.jar jfreechart-1.0.13.jar jcommon-1.0.17.jar 前
struts2整合JFreechart 饼图、折线图、柱形图 上效果图: 当然可以将数据导出图片格式存储。具体下
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号