写出备用。
首先下载2个jar包:
jofc2.jar,xstream.jar。
前端jsp页面,引入open-flash-chart.swf和swfobject.js。
<script type="text/javascript">
swfobject.embedSWF("openflashchart/open-flash-chart.swf",
"my_chart", //放置Chart的div的id
"1200", //chart寬度
"600",//chart高度
"9.0.0",//flash播放器版本
"expressInstall.swf",
{
"data-file" : "<%=request.getContextPath()%>/UserChart.do?method="+method+"%26startdate="+startdate+"%26enddate="+enddate
}//數據文件路徑---这里是你要显示的数据
);
</script>
<BODY leftmargin=0 topmargin=0>
<div id="my_chart"></div>
</body>
之所以用%26,是代替&的,不支持&的写法。
java文件:
List list = // 取数据
UserChartEveryday usernums = null;
//使用jofc2 画图
// LineChart line = new LineChart();
// line.setFontSize(20);
// line.setTooltip("#val#%");
//
// XAxis x = new XAxis();
// x.getLabels().setRotation(Rotation.VERTICAL);
//
// // x.set3D(1);
// for (int i = 0; i < list.size(); i=i+2) {
// usernums = (UserChartEveryday) list.get(i);
// LineChart.Dot dot = new LineChart.Dot(usernums.getNum());
// line.addDots(dot);
// String xdate = (usernums.getEverydaydate()).substring(10);
// x.addLabels(xdate);
// }
//
// long max = 5000;
//
// YAxis y = new YAxis();
// y.setMax(max + 0.0);
// y.setSteps(500);
//
// Chart chart = new Chart("在线人数统计图", "font-size:18px;color:#ff0000");
//
// chart.addElements(line);
//
// Text text = new Text("人数", Text.createStyle(10, "#00000",
// Text.TEXT_ALIGN_CENTER));
//
// chart.setYAxis(y);
// chart.setXAxis(x);
// chart.setYLegend(text);
//
// String json = chart.toString();
// response.setContentType("application/json;charset=UTF-8");
// PrintWriter out = null;
// try {
// out = response.getWriter();
// out.println(json);
//
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// out.close();
// }
//
// return null;