Java FusionCharts实例 柱状图

来源:互联网 发布:手机淘宝分类在哪里 编辑:程序博客网 时间:2024/05/16 09:00

jsp 页面 :

   <%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://www.bstek.com/dorado" prefix="d" %>
<%@ page import="java.net.URLDecoder" %>
<html>
<head>
<title>工作订单计划完成情况统计</title>
<script type="text/javascript" src="../../FusionCharts/charts/FusionCharts.js"></script>
<script type="text/javascript" src="../../platform/js/prototype.js"></script></head>


<%
request.setCharacterEncoding("UTF-8");
%>


<body>
  <div align="center">
<div id="chartdiv" align="center"></div>
      <script type="text/javascript">
   var chart = new FusionCharts("../../FusionCharts/charts/FCF_MSColumn3D.swf?ChartNoDataText=没有符合条件的数据!", "ChartId", "600", "350");
   <% if(request.getParameter("arg")!=null){%>
  chart.setDataURL("getFlashDataByDept.action?arg=<%=request.getParameter("arg") %>");
 // chart.setDataURL("ewotest.xml");
  chart.render("chartdiv");
  <% }%>
</script>
  </div>
</body>
</html>


action 类 :

  package avicit.mes.module.ewofinishstat.action;


import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


import avicit.mes.module.ewofinishstat.domain.EwoFinishStatService;


import com.cape.platform.framework.view.base.ActionBase;


public class EwoFinishStatAction extends ActionBase {
private EwoFinishStatService ewoFinishStatService;


public EwoFinishStatService getEwoFinishStatService() {
return ewoFinishStatService;
}


public void setEwoFinishStatService(EwoFinishStatService ewoFinishStatService) {
this.ewoFinishStatService = ewoFinishStatService;
}

public void getFlashDataByDept() throws UnsupportedEncodingException {
HttpServletRequest request = getRequest();
HttpServletResponse response = getResponse();
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
Document document = DocumentHelper.createDocument();
Element root = document.addElement("graph");
root.addAttribute("rotateNames", "0");
root.addAttribute("chartLeftMargin", "40");
root.addAttribute("chartTopMargin", "30");
root.addAttribute("chartRightMargin", "40");
root.addAttribute("baseFontSize", "12");
root.addAttribute("baseFont", "宋体");
root.addAttribute("showvalues", "1");

root.addAttribute("caption", "工作订单计划完成情况统计(按部门)");
root.addAttribute("xaxisname", "部门");
// root.addAttribute("yaxisname", "num");

String arg = request.getParameter("arg");
try {
if (arg != null && !arg.equals("")) {

//对取来的参数进行拆分
String[] temp = arg.split(",");
String[] arg0s = { "", ""};
if (temp != null && temp.length > 0) {
for (int i = 0; i < temp.length; i++) {
arg0s[i] = temp[i];
}
}

//从后台查询出需要的数据
List<Object[]> ls = ewoFinishStatService.getFlashDataByDept(arg0s[0],arg0s[1]);

// 建立图形控件所需的XML元素
Element categories = root.addElement("categories");
for(int i=0;i<ls.size();i++){
Element category = categories.addElement("category");
category.addAttribute("name", ls.get(i)[0].toString());
}

Element dataset = root.addElement("dataset");
dataset.addAttribute("seriesname","计划数据");
dataset.addAttribute("color","FDC12E");
Element set;
for(int i=0;i<ls.size();i++){
set = dataset.addElement("set");
set.addAttribute("value",ls.get(i)[1].toString());
}

dataset = root.addElement("dataset");
dataset.addAttribute("seriesname","开工数据");
dataset.addAttribute("color","56B9F9");
for(int i=0;i<ls.size();i++){
set = dataset.addElement("set");
set.addAttribute("value",ls.get(i)[2].toString());
}

dataset = root.addElement("dataset");
dataset.addAttribute("seriesname","完成数据");
dataset.addAttribute("color","C9198D");
for(int i=0;i<ls.size();i++){
set = dataset.addElement("set");
set.addAttribute("value",ls.get(i)[3].toString());
}

}

PrintWriter out = this.getResponse().getWriter();
String s = root.asXML();
out.write(s);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {


}


}

}