highcharts ajax struts2集成

<script type="text/javascript">
$(function() {

var chart;
$(document).ready(
function() {
var options = {
chart : {
renderTo : 'container',
type : 'line',
zoomType: 'xy' //局部放大
},
credits: {
            position: {
                align: 'right',
                x: -20
            },
            text: 'www.xxx.com',
            href: '#'
        },
title : {
text : '车速记录',
x : -20
//center
},
subtitle : {
text : '车速',
x : -20
},
xAxis : {
type : 'datetime',
labels : {
formatter : function() {
return Highcharts.dateFormat(
'%H:%M:%S', this.value);
},
rotation : -45, //字体倾斜
align : 'right',
style : {
font : 'normal 13px 宋体'
}
},
//tickInterval : 3 * 60 * 60 * 1000
tickInterval : 60 * 1000
//x周坐标间隔
},
yAxis : {
title : {
text : 'km/h'
},
min : 0,//y轴最小值,默认为null,为null,会自动计算最小值
minorGridLineWidth : 0,//网格线条宽度,默认为1,0表示隐藏网格
gridLineWidth : 0,//网格线粗细
alternateGridColor : null,//网格线画出很多个区域,这个属性表示区域的颜色

plotLines : [ {
value : 0,
width : 1,
color : '#808080'
} ],
plotBands: [{ // 区域的颜色
from: 70,
to: 150,
color: '#FFFF00',
label: {
text: '车速有点快',
style: {
color: '#606060'
}
}
}]
},

//鼠标放上去时的提示框
tooltip : {
formatter : function() {
return '<b>'
+ this.series.name
+ '</b><br/>'
+ Highcharts.dateFormat(
'%Y-%m-%d %H:%M:%S', this.x)
+ "时速:" + this.y + "km/h";
}
},
//图片中每个项目符号的文字说明,默认在图片下方居中
//legend : {
// layout : 'vertical',
// align : 'left',
// verticalAlign : 'top',
// x : 0,
// y : 200,
// borderWidth : 0
//},
//填充数据
series : [ {
name : '车速'
} ]
};

//使用ajax获取数据,action返回的数据是json格式的
$.ajax({
   type: "POST",
   url: "<%=request.getContextPath()%>/ReportAction!speedChart.action",
   //data: "name=John&location=Boston",
   //dataType :"json",
   success: function(msg){
   var myObject = eval('(' + msg + ')');
   var cars= myObject.results;
   var dataArray = new Array();
   for(var i=0;i<cars.length;i++){
   //填充数据集,第一个参数是时间,注意:月份是从0开始的,第二个参数是对应的数值
   dataArray.push([Date.UTC(cars[i].YEAR, cars[i].MONTH-1, cars[i].DAY, cars[i].HOUR, cars[i].MINUTE, cars[i].SECOND), Number(cars[i].DRIVERSPEED )]);
   }
   options.series[0].data = dataArray;
   options.series[0].pointStart=dataArray[0];
   //alert(options.series[0].data);
   chart = new Highcharts.Chart(options);
   }
});
});


});
</script>

action主要代码
request.setCharacterEncoding("utf-8");
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
List<Map> driverInfoByIntime = carDriverInfoBuss.getDriverInfoByIntime(map);

JSONObject json = new JSONObject();
json.put("results", driverInfoByIntime);
System.out.println(json);
json.write(response.getWriter());

你可能感兴趣的:(Highcharts)