前台:
//远程读取设备去向图表数据 var Store1 = new Ext.data.Store({ <span style="white-space:pre"> </span>proxy:{ <span style="white-space:pre"> </span>type:'ajax', <span style="white-space:pre"> </span>url:'/newmaterial/servlet/GetCountChartGoDatas', <span style="white-space:pre"> </span>reader:{ <span style="white-space:pre"> </span>type:'array' <span style="white-space:pre"> </span>}<span style="white-space:pre"> </span> <span style="white-space:pre"> </span>}, <span style="white-space:pre"> </span>fields:[ <span style="white-space:pre"> </span>"System", <span style="white-space:pre"> </span>{name:"Share",type:"float"} <span style="white-space:pre"> </span>] }); Store1.load(); var mychart1 = new Ext.chart.Chart({ <span style="white-space:pre"> </span>store:Store1, <span style="white-space:pre"> </span>title:'全部物料去向概览', <span style="white-space:pre"> </span>width:500, <span style="white-space:pre"> </span>height:500, <span style="white-space:pre"> </span>insetPadding:50, <span style="white-space:pre"> </span>legend:{position:"right"}, <span style="white-space:pre"> </span>series:[{ <span style="white-space:pre"> </span>type:'pie', <span style="white-space:pre"> </span>field:'Share', <span style="white-space:pre"> </span>showInLegend:true, <span style="white-space:pre"> </span>highlight:{ <span style="white-space:pre"> </span>segment:{margin:20} <span style="white-space:pre"> </span>}, <span style="white-space:pre"> </span>label:{ <span style="white-space:pre"> </span>field:'System', <span style="white-space:pre"> </span>display:'rotate', <span style="white-space:pre"> </span>contrast:true <span style="white-space:pre"> </span>}, <span style="white-space:pre"> </span>tips:{ <span style="white-space:pre"> </span>trackMouse:true, <span style="white-space:pre"> </span>renderer:function(rec,item){ <span style="white-space:pre"> </span>this.update(rec.get("System")+':'+rec.get("Share")+'%'); <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>}] });
后台:
public class GetCountChartGoDatas extends HttpServlet { /** * @Fields serialVersionUID : */ private static final long serialVersionUID = 1L; /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html"); StringBuffer sb = new StringBuffer(); NowmaterialDAO nmd = new NowmaterialDAO(); MaterialDAO md = new MaterialDAO(); List getlist = nmd.getSession().createCriteria(Nowmaterial.class) .setProjection( Projections.projectionList() .add(Projections.rowCount()).add( Projections.groupProperty("material.msCode"))) .list(); int total = 0; for (int i = 0; i < getlist.size(); i++) { Object[] row = (Object[]) getlist.get(i); total = total + Integer.parseInt(row[0].toString()); } response.setCharacterEncoding("utf-8"); sb.append("["); for (int i = 0; i < getlist.size(); i++) { Object[] row = (Object[]) getlist.get(i); List<Material> getonelist = md.findByProperty("msCode", row[1]); sb.append("['" + getonelist.get(0).getMsName() + "'," + Float.parseFloat(row[0].toString()) + "],"); } sb.append("]"); int qu = sb.lastIndexOf(","); sb.deleteCharAt(qu); response.getWriter().print(sb.toString()); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }