琢磨了一整天,终于把hightcharts的数据传递给搞完了,首先我想提醒,已经做了但是遇到问题的同学必须要注意一点,关键字一定要一一对应,不然显示不出来,比如说饼图的数据,不是data而是y
上代码,绝壁可用。。。
jsp 页面
function creatChart( data){
$('#fooddlg').highcharts({ //目标id:fooddlg
chart: {
type: 'pie',
options3d: {
enabled: true,
alpha: 45,
beta: 0
}
},
title: {
text: '商品类别分析'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
depth: 35,
dataLabels: {
enabled: true,
format: '{point.name}'
}
}
},
series: [{
type: 'pie',
name: '标题',
data: data,
}]
});
}
jsp 调用
$.getJSON("yyyback/BackDateOrderData.action?op=piehighcharts" , function(data) {
creatChart(data);
});
servlet
private void piehighchartsOp(HttpServletRequest request,
HttpServletResponse response) throws IOException {
List<JDOrderItemData>list=new ArrayList<JDOrderItemData>();
List<pieData> datas = new ArrayList<pieData>();
try {
list=gobi.findJDOrderItemData(); //oracle查询语句,返回list对象
} catch (Exception e) {
e.printStackTrace();
}
String name="";
for(int i=0;i<list.size();i++){
pieData p=new pieData();
name=list.get(i).getName();
// arr[i]=list.get(i).getSalespercent();
p.setName(list.get(i).getName());
p.sety(list.get(i).getSalespercent());
datas.add(p);
}
//使用Google的Json工具
Gson gson = new Gson();
//将JSON串返回
PrintWriter out = response.getWriter();
out.print(gson.toJson(datas));
out.flush();
out.close();
}
bean
package com.yc.back.bean;
import java.util.Arrays;
public class pieData {
private String name;
//份额
private Double y;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double gety() {
return y;
}
public void sety(Double y) {
this.y = y;
}
@Override
public String toString() {
return "piey [name=" + name + ", y=" + y + "]";
}
}
对未知知识的探索,尽量按原来的格式和命名来做,资料的查询,尽量找官网给的api,那就是规范,代码千千万万,只有api是最标准,最可靠