highchart

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3.     <%@ include file="/WEB-INF/include/taglib.jsp"%>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>进销存管理系统</title>  
  9. <script type="text/javascript" src="${ctx}/static/js/jquery-1.11.1.min.js"></script>  
  10. <script type="text/javascript" src="${ctx}/static/js/highcharts.js"></script>  
  11. <script type="text/javascript" src="${ctx}/static/js/exporting.js"></script>  
  12. <style type="text/css">  
  13. ${demo.css}  
  14. </style>  
  15. <script type="text/javascript">  
  16. Date.prototype.format = function(format){   
  17.     var o = {   
  18.     "M+" : this.getMonth()+1, //month   
  19.     "d+" : this.getDate(), //day   
  20.     "h+" : this.getHours(), //hour   
  21.     "m+" : this.getMinutes(), //minute   
  22.     "s+" : this.getSeconds(), //second   
  23.     "q+" : Math.floor((this.getMonth()+3)/3), //quarter   
  24.     "S" : this.getMilliseconds() //millisecond   
  25.     }  
  26.   
  27.     if(/(y+)/.test(format)) {   
  28.     format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  29.     }  
  30.   
  31.     for(var k in o) {   
  32.     if(new RegExp("("+ k +")").test(format)) {   
  33.     format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));   
  34.     }   
  35.     }   
  36.     return format;   
  37.  }  
  38.    
  39. $(function () {  
  40.     GetseriesValue();  //获取数据源信息  
  41. });  
  42.   
  43. //获取数据源信息  
  44. //  
  45. function GetseriesValue() {  
  46.     $.ajax({  
  47.         type: "post",  
  48.         url: "${ctx}/log/loginData.action",  
  49.         cache: false,  
  50.         success: function (data) {  
  51.             var dataTmp = data;  
  52.             GetData(dataTmp);  
  53.         },  
  54.         error: function () {  
  55.             alert("请求超时,请重试!");  
  56.         }  
  57.     });  
  58. };  
  59.   
  60. //绑定获取数据信息操作  
  61. //  
  62. function GetData(dataTmp) {   
  63.      $('#container').highcharts({  
  64.             title: {  
  65.                 text: '用户登录时间段统计图表',  
  66.                 x: -20 //center  
  67.             },  
  68.             lang: {  
  69.                 printChart: '打印图表',  
  70.                 downloadPNG: '下载JPEG 图片',  
  71.                 downloadJPEG: '下载JPEG文档',  
  72.                 downloadPDF: '下载PDF 文件',  
  73.                 downloadSVG: '下载SVG 矢量图'  
  74.             },  
  75.             subtitle: {  
  76.                 text: '统计时间:'+new Date().format("yyyy-MM-dd hh:mm:ss"),  
  77.                 x: -20  
  78.             },  
  79.             xAxis: {  
  80.                 categories: ['0点', '1点', '2点', '3点', '4点', '5点','6点', '7点', '8点', '9点', '10点',   
  81.                     '11点', '12点', '13点', '14点', '15点', '16点', '17点', '18点', '19点', '20点', '21点', '22点', '23点']  
  82.             },  
  83.             yAxis: {  
  84.                 title: {  
  85.                     text: '数量(次)'  
  86.                 },  
  87.                 plotLines: [{  
  88.                     value: 0,  
  89.                     width: 1,  
  90.                     color: '#808080'  
  91.                 }]  
  92.             },  
  93.             tooltip: {  
  94.                 valueSuffix: '次'  
  95.             },  
  96.             legend: {  
  97.                 layout: 'vertical',  
  98.                 align: 'right',  
  99.                 verticalAlign: 'middle',  
  100.                 borderWidth: 0  
  101.             },  
  102.             series: eval("[" + dataTmp + "]")  //获取数据源操作信息  
  103.         });  
  104. }  
  105.    
  106. </script>  
  107. </head>  
  108. <body>  
  109.   
  110.   
  111. <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>  
  112.   
  113. </body>  
  114. </html>  

 四、后台源码

注意:后台主要是封装highcharts所需要的数据格式,返回到前台

[html]  view plain  copy
  1. <span style="font-size:14px;">@RequestMapping("loginData")  
  2.     public void loginData(HttpServletRequest request, HttpServletResponse response) {  
  3.         // String reg2 = "{name: 'Tokyo',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}";  
  4.         // {  
  5.         // name: 'Tokyo',  
  6.         // data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]  
  7.         // }  
  8.         List<Object[]> lists = logService.findReportByLoginCount();  
  9.         List<String> reList = getReg24List(lists);  
  10.         String reg = "{name: '登录',data: [";  
  11.         for (String s : reList) {  
  12.             reg += s + ",";  
  13.         }  
  14.   
  15.         reg = reg.substring(0, reg.length() - 1);  
  16.   
  17.         reg += "]}";  
  18.   
  19.         ResultUtil.sendString(response, reg);  
  20.     }</span>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值