首先,看看JS
/**
*
*/
var url;//全局变量相对路径
$(function(){
var localObj = window.location;
var contextPath = localObj.pathname.split("/")[1];
var basePath = localObj.protocol+"//"+localObj.host+"/"+contextPath;
url=basePath;
});
function show(data) {
var myChart = new FusionCharts(url
+ "/resources/js/FusionCharts/Column3D.swf", "myChartId", "600",
"500");
myChart.setDataXML(data);
myChart.render("charts1");
}
function showCharts() {
$.ajax({
url : "getDate",
type : "POST",
success : function(data) {
show(data);
}
});
}
这里,我是用了ajax来从JAVA得到一个fusionCharts的拼接字符串
接下来看JAVA
@RequestMapping(value = "/getDate", method = RequestMethod.POST)
public void getCharts(HttpServletResponse response) {
StringBuilder sb = new StringBuilder();
sb.append("<chart caption='Sales by salesperson' yaxisname='Sales' numberprefix='$' bgcolor='#FFFFFF' showalternatehgridcolor='0' showvalues='1' labeldisplay='WRAP' divlinecolor='#CCCCCC' divlinealpha='70' useroundedges='1' canvasbgcolor='#FFFFFF' canvasbasecolor='#CCCCCC' showcanvasbg='0' animation='0' palettecolors='#008ee4,#6baa01,#f8bd19,#e44a00,#33bdda' ><set label='Jerry' value='5000' /><set label='Harry' value='5500' /><set label='James' value='7000' /><set label='Rita' value='8200' /><set label='Jenny' value='6000' /></chart>");
String chartXml = sb.toString();
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.getWriter().print(chartXml);
System.out.println(chartXml);
} catch (Exception ex) {
ex.printStackTrace();
}
}
【这里需要注意的是一定要写:】
response.setContentType("text/html");
否则不成功。
最后,看页面:
<table>
<tr>
<td><div id="charts1"></div></td>
</tr>
</table>
<input type="button" value="button" οnclick="showCharts()" />