返回首页

使用FusionCharts时出现的问题解决方案

时间:2012-10-10 23:00来源:知行网www.zhixing123.cn 编辑:麦田守望者

最近在用fusioncharts v3 来做报表
代码如下

var myChart = new FusionCharts("fusioncharts/MSColumn2D.swf", "myChartId",
"900", "300", "0", "0");

u ="target.action?a=all&b=b";
u=u+"&c="+"c"+"&d="+"d";
myChart.setDataURL(u);
myChart.render("chartdiv");
在服务器端只能获得到a=all,其他的参数,b,c,d都获得不了,为什么?

A1.
FusionChart V3的方法chart.setDataURL(url)对特殊字符敏感,比如:?,&,还有日期格式中包含减号:2009-12-02,导致不能正常传递,而且没有任何的错误提示。只是说加载数据错误(ERROR LOADING DATA)。

解决办法:对url进行处理——

1。在JS下,可以用escape方法来转换。chart.setDataURL(escape(url)).

2。在服务器端处理,如果你想在服务器端就进行编码,那就使用你的编程语言提供的URL编码方法。如在java里进行编码的函数是 java.net.URLEncoder.encode()。

另外:FusionChart对于时间的:(冒号,如 2010-02-24 23:59:59)不能转换,当时一直没有找到问题。没有报错或者报时间应该在-4444到9999之间。之前一直以为是空格的问题,后来才发现是冒号的问题!

办法:1,在js下,将":"号替换成"_"。比如说变量为starttime,starttime.replace(/:/g,"_");这表示替换全部的":";在服务器端可以再转过去。

[例子如下:

javascript字符串替换所有要替换字符
javascript替换函数使用正则表达式

//将字母i全部替换成5

<script language="javascript">
var txt = "sjfisjfisdjfijsidfjioalfjewofjjgs";
alert(txt .replace(/i/g,"5"));
</script>

 

//只将第一个字母i替换成5

<script language="javascript">
var txt = "sjfisjfisdjfijsidfjioalfjewofjjgs";
alert(txt .replace("i","5"));
</script>

]

2。在java下,将“_”号替换成“:”。starttime.replaceAll("_",":");当然不替换也是可以的。看你数据库的日期格式是怎么样的了。

Q2。中文显示问题。在要显示图的页面引入js:

Report.jsp
 

<script language="javascript"
src="<%=request.getContextPath()%>/FusionCharts/FusionCharts.js"></script>

.....
 

<body>

<button onclick="newChart();" style="background-color: red">test</button>
<div id="chartdiv" >
</div>
 

</body>

.....

//显示柱状图
function newChart(){
var phone =document.getElementById("PHONE").value;
if(phone.trim().length==11){
phone = phone.trim();
var starttime = document.getElementById("STARTTIME").value;
var endtime = document.getElementById("ENDTIME").value;
var chart = new FusionCharts("<%=request.getContextPath()%>/FusionCharts/FCF_Column3D.swf","ItemCharts","1000","500");//将swf文件拷贝到FusionCharts下
//不能处理:号...
starttime = starttime.replace(/:/g,"_");
endtime = endtime.replace(/:/g,"_");
var url = "behaviorchart.jsp?phone="+phone+"&starttime="+starttime+"&endtime="+endtime;
//alert(url);
chart.setDataURL(escape(url));
chart.render("chartdiv");
}else{
Dialog.alert("柱状图只能显示一个号码的数据!请输入确切的号码!");
}
}

behaviorchart.jsp:

<%@page pageEncoding="utf-8"%>
<%@page import="com.skyarm.mwc.dao.*"%>
<%@page import="com.skyarm.mwc.pojo.*"%>
<%@page import="com.skyarm.mwc.util.*"%>
<%@page import="java.util.*"%>
<%
out.clear();
//参数
String phone = request.getParameter("phone");
String starttime = request.getParameter("starttime");
String endtime = request.getParameter("endtime");
//换过来成:号
starttime=starttime.replaceAll("_",":");
endtime=endtime.replaceAll("_",":");
StringBuffer sb = new StringBuffer();
。。。

拼接成xml的文档。

out.println(sb.toString());
out.flush();
%>


 

A2。xml返回的有中文的话不能显示,都显示为乱码。将behaviorchart.jsp的pageEncoding设置为utf-8,页面的属性也设置为utf-8就可以正确的显示了。

Q3。拼成的xml文档中有:

<graph caption='..' ... yAxisName=‘点击次数’ ... >

<set name='..' value='...' ..../>

....
 

</graph>

结果y轴的名称不显示出来。。。

A3。这个问题比较简单了,我用的Free版的,被限制了。付费了就不会出现问题的!

------分隔线----------------------------
标签(Tag):Java JAVA龙8娱乐官网手机版 JAVA基础教程 Java源代码 Java技巧
------分隔线----------------------------
推荐内容
  • 如何安装oracle 10g数据库 oracle 10g安装图解

    特意为大家制作了一份 oracle 10g安装图解 ,这样大家在安装的时候就不会出错了,至于...

  • Eclipse 如何安装Spring IDE支持

    ECLIPSE ARCHIVE离线安装包 SIZE 4.6 springsource-tool-suite-3.8.1.RELEASE-e4.6-up...

  • Eclipse 初始设置图解教程

    一、自动补全 .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 二、字体设置 ...

  • idear如何配置JRebel实现热部署

    习惯写PHP之后,发现写JavaEE最蛋疼的是每次修改完代码,需要重启Tomcat服务,当项目...

  • java常用设计模式原型模式及深浅拷贝

    原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的...

  • java中单例模式的4种实现方式

    单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8娱乐官网手机版
  • Photoshop龙8娱乐官网手机版
  • 3DMAX龙8娱乐官网手机版
  • AutoCAD龙8娱乐官网手机版
  • CorelDRAW龙8娱乐官网手机版
  • Matlab龙8娱乐官网手机版
  • 其他龙8娱乐官网手机版
  • .Net龙8娱乐官网手机版
  • Asp龙8娱乐官网手机版
  • Php龙8娱乐官网手机版
  • Jsp龙8娱乐官网手机版
  • Ajax龙8娱乐官网手机版
  • Android教程
  • 其他龙8娱乐官网手机版
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影