1.設置頁面編碼:UTF-8 可以防止橫縱座標中文漢字亂碼
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
...
</html>
2.添加圖形的點擊事件:設置 <graph unescapeLinks="0"> 解決鏈接中傳中文亂碼
xml: link="JavaScript:showName('Java開發者')"
js: function showName(name){
alert(name); //會出現亂碼
}
3.使用參考:1.生成xml格式文本流,可以採用拼接,也可以採用dom4j生成 String msg = "";
msg="<?xml version=1.0 encoding=GBK?>";
msg+="<graph caption='人物年齡列表' xAxisName='人名' yAxisName='年齡' " +"showNames='1' decimalPrecision='0' formatNumberScale='0'
baseFont='宋體' baseFontSize='14' unescapeLinks='0'>";
msg+="<set name='小明' value='21' color='"+getRandomColor()+"' link='JavaScript:showName('小明')' />";
msg+="<set name='小強' value='25' color='"+getRandomColor()+"' link='JavaScript:showName('小強')' />";
msg+="<set name='大力丸' value='47' color='"+getRandomColor()+"' link='JavaScript:showName('大力丸')' />";
msg+="<set name='主義者' value='85' color='"+getRandomColor()+"' link='JavaScript:showName('主義者')'/>";
msg+="<set name='追夢' value='37' color='"+getRandomColor()+"' link='JavaScript:showName('追夢')' />";
msg+="</graph>";
建議採用dom4j組件生成xml文件
public String getXMLString(List list){
String xmlstr="";
Document document = DocumentHelper.createDocument();
Element graph = document.addElement("graph");
graph.addAttribute("caption", "人物年齡列表");
graph.addAttribute("xAxisName", "人名");
graph.addAttribute("yAxisName", "年齡");
graph.addAttribute("showNames", "1");
graph.addAttribute("desimalPrecision", "0");
graph.addAttribute("formatNumberScale", "0");
graph.addAttribute("baseFont", "宋體");
graph.addAttribute("baseFontSize", "14");
graph.addAttribute("unescapeLinks", "0");
for(int i=0;i<list.size();i++){
Element set = graph.addElement("set");
Person p = list.get(i);
set.addAttribute("name", p.getname());
set.addAttribute("value", p.getage());
set.addAttribute("color", getRandomColor());
set.addAttribute("link", "JavaScript:showName('"+p.getname()+"')");
}
xmlstr = generateXML(document);
return xmlstr;
}
/**
* 通過dom生成xml文件
*/
public String generateXML(Document document) {
String xmlDoc = "";
StringWriter sw = new StringWriter();
XMLWriter writer;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
writer = new XMLWriter(sw, format);
try {
writer.write(document);
xmlDoc = sw.toString();
URLEncoder.encode(xmlDoc, "utf-8");
} catch (IOException e) {
System.out.println("生成XML字符串發生異常");
e.printStackTrace();
} finally {
try {
writer.close();
sw.close();
} catch (IOException e) {
System.out.println("關閉XML讀寫發生異常");
e.printStackTrace();
}
}
return xmlDoc;
}
/**
* 隨即獲得顏色代碼
*/
public String getRandomColor(){
//顏色代碼位數6
int colorLength=6;
//顏色代碼組數
char[] codeSequence={'A','B','C','D','E','F', '0','1','2','3','4','5','6','7','8','9'};
StringBuffer str=new StringBuffer();
Random random=new Random();
for(int i=0;i<colorLength;i++){
str.append(codeSequence[random.nextInt(16)]);
}
return str.toString();
}
4.頁面顯示 <script src="<s:url value="js/FusionCharts.js"/>" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="UTF-8">
$(document).ready(function(){
$.ajax({
type:'post',
url:'doPersonCharts.action',
data:'',
success:function(msg){
//最後的1.表示link可以顯示,鼠標有手勢
var chart=new FusionCharts("FusionCharts/Column3D.swf","chartId1","900","480","0","1");
chart.setDataXML(msg);
chart.render(personForm);
},
error:function(){
alert("加載失敗,請重新加載...");
}
});
});
function showName(name){
alert(name);
}
</script>
<div align="center">
<table width="60%" border="0" name="personForm" id="personForm"></table>
</div>
參數的詳細說明和功能特性:http://www.meisoft.cn/
無logo下載地址:http://download.csdn.net/detail/qiaoshuai0920/9175993
轉載:http://cjp1989.iteye.com/blog/1843776