(一)FusionCharts官方网站http://www.fusioncharts.com/
(二)FusionCharts文档解释
—-各个文件的作用
Charts :里面包含着所有的SWF文件,如果你的Web项目需要创建图像,则导入相应的SWF文件即可。
Code :里面包含了所有的示例代码。
Contents :包含了文档,也就是API,包含了FusionCharts的使用方法。
Gallery :包含了一些图像的创建例子。
JSClass:FusionCharts javascript文件就放在这个目录下,这些文件能够帮组我们以一种友好的方式将图像插入到页面中。
(三)创建一个柱形图
1、jsp页面
$(document).ready(function() {
var dataString="<graph caption='各法院短信发送量统计' xAxisName='法院名称(代码)' yAxisName='短信发送量(条)' " +
"baseFontSize='12' bgcolor='#FFFFFF' showAboutMenuItem='0' formatNumberScale='0' "+
"plotSpacePercent='30' yAxisMaxValue='100' "+
"logoURL='' logoPosition='TL'>";
$.ajax({
type:"POST",
url:"<%=request.getContextPath()%>/SpecialAccountManageSvlt", //请求路径 请求Action(继承DispatcherAction)中的login方法
success: function(responseText){
//获取银幕高度
var height=(window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight);
//根据你所需要的图形类型选择不同的swf,如3d柱状图为FCF_Column3D.swf,2d饼状图为FCF_Pie2D.swf
var chart = new FusionCharts("<%=request.getContextPath() %>/js/fusioncharts/Charts/Column3D.swf",
"ChartId", "100%", height,"0","1");
chart.setDataXML(dataString+responseText+"</graph>");
chart.render("chartdiv");
}
});
});
2、svlt层
//业务层
SpecialAccountManageSvc service=new SpecialAccountManageSvc();
List<String[]> list=service.getCourtSendList();
StringBuffer sb=new StringBuffer();
//循环获取数据
if(list!=null&&list.size()>0){
int nl=list.size();
for(int i=0;i<nl;i++){
String[] temp=list.get(i);
sb.append("<set name='"+temp[0]+"("+temp[2]+")"+"'value='"+temp[1]+"'/>");
}
}
Log.getInstance().printInfo(this.getClass().getName(),"法院短信量统计图数据: " + sb.toString());
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(sb.toString());
3、svc层
public List<String[]> getCourtSendList(){
List<String[]> rt =new SpecialAccountManageDao().getSpecialList();
return rt;
}
4、dao层
public List<String[]> getSpecialList(){
String sql = "SELECT bu.CourtName,IFNULL(b.SendTotalCount,0),bu.CourtCode " +
"FROM t_courtcode bu " +
"LEFT JOIN (SELECT CourtID,sum(SendTotalCount) AS SendTotalCount FROM t_courtsmscensus) AS b " +
"on b.CourtID=bu.CourtID";
Log.getInstance().printInfo(this.getClass().getName(),
"SpecialAccountManageDao-> " + sql);
return DataBaseManage.getInstance().executeQuery(sql, 3, null);
}
5.效果图