FusionCharts 3.1 破解版 中文问题 setDataURL 传值问题

1.【FusionCharts 3.1 中文问题】

这个在网上查了很多,说是在设置数据xml路径时有几种方法,

但是经试验,FusionCharts 3.1只支持setDataURL()方法。

【例】:

var chart = new FusionCharts("Charts/Column3D.swf", "ChartId", "600", "350", "0", "0");
chart.setDataURL("Data/Column3D.xml");     
chart.render("chartdiv");

此时,在后台生成xml时,当生成的xml包含中文时,一定要先为字符串前加上utf-8 bom技术标示,这样前台就可以读出中文了。

【具体方法】:

try {
			HttpServletResponse response = this.getHttpResponse();
			response.setContentType("text/xml;charset=UTF-8");
			PrintWriter out = response.getWriter();
			StringBuffer sb = new StringBuffer();//生成的数据xml字符串
			
			byte[] utf8Bom =  new byte[]{(byte) 0xef, (byte) 0xbb, (byte) 0xbf};
			String utf8BomStr = new String(utf8Bom,"UTF-8");
			utf8BomStr+=sb.toString();

			out.print(utf8BomStr);
			out.flush();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

注意:

在设置返回字符集编码时,返回的ContentType一定是text/xml,而不能是text/html.

 

2.【FusionCharts 3.1 中 setDataURL 传值问题】:

在setDataURL 方法中的URL如果包含参数,使用&将不能正常传值。

【解决办法】:

 将URL中的?和&全部换成%@*

【例】:

chart.setDataURL("<%=basePath%>fusionChartCountMunuAction.action%@*id=1%@*type=1%@*chartType=bar%@*dt="+new Date().getTime());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值