首先要把echarts所需的js和swf文件导入进去
//后台拼图标所需xmlStringBuffer outXml = new StringBuffer()//任务列表xml字符串
@Action("/task/loadMyTaskPercentXml")
public String loadMyTaskPercentXml()
{
HttpServletResponse res = ServletActionContext.getResponse()
res.setHeader("Cache-Control", "no-store")
res.setHeader("Pragma", "no-cache")
res.setDateHeader("Expires", 0)
res.setContentType("text/xmlcharset=GBK")
PrintWriter out = res.getWriter()
StringBuffer outXml = new StringBuffer(
"<?xml version=\"1.0\" encoding=\"GBK\"?>\n")
outXml
.append("<chart baseFontSize=\'12\' caption=\'任务统计\' subcaption=\'\' yAxisMinValue=\'51650.1\' yAxisMaxValue=\'71118.3\' xaxisname=\'日期\' yaxisname=\'数量\' hovercapbg=\'FFECAA\' hovercapborder=\'F47E00\' formatNumberScale=\'0\' decimalPrecision=\'0\' showvalues=\'1\' numdivlines=\'10\' numVdivlines=\'0\' shownames=\'1\' rotateNames=\'1\'>")
outXml.append("\n")
outXml.append("<set name=\'已完成任务(%)")
outXml.append("\' value=\'" + s1.replace("%", "") + "")
outXml.append("\' />")
outXml.append("\n")
outXml.append("<set name=\'未完成任务(%)")
outXml.append("\' value=\'" + s2.replace("%", "") + "")
outXml.append("\' />")
outXml.append("\n")
outXml.append("</chart>\n")
out.print(outXml.toString())
out.flush()
out.close()
return null
}
在后台进行拼装xml,并且返回到页面
<div style="display:none" id="taskListGraph">${outXml}</div>
<script type="text/javascript">
var text= document.getElementById("taskListGraph").innerHTML
var chart2 = new FusionCharts("${base}/swf/Bar2D.swf?ChartNoDataText=暂无数据&XMLLoadingText=正在载入数据,请稍候", "chart02", "610", "276")
chart2.setDataXML(text)
chart2.render('jdbox')
chart2.addParam("wmode", "Opaque")
</script>
这样图就生成好了!
使用echarts,只需要导入这个包就可以了<!-- echarts报表图形 -->
<script src="static/common/js/echarts.js" type="text/javascript"></script>
你报的错误好像是读取了一个未定义的属性“gexf”
可以去官网下载它的资源包,然后根据自己想要的图,在官网找到它的js,一般的数据都是改它js里面的一段json数组,你只要在后台通过sql语句拿到数据,用json数组格式传到前台就可以了。