您的位置:首页 > 编程语言 > Java开发

JAVA Spring 使用fusionCharts的setDataXML方法

2014-03-27 09:52 267 查看
首先,看看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" onclick="showCharts()" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: