java端获取数据代码
- /**
- * 创建产品线接口数量统计数据的XML格式数据
- *
- * @param caption
- * 报表标题
- * @param xAxisName
- * 横轴名称
- * @param yAxisName
- * 纵轴名称
- * @param baseFontSize
- * 字体大小 以12为佳
- * @param ISCreateFile
- * 是否要创建为XML文件,TRUE表示要创建文件
- * @param pFileName
- * XML文件的输出路径与文件名称
- * @return String XML格式字符串,用于图表显示
- */
- public String CreateCasePorjectDibtXmlData(TestCase searchtc,String caption, String subCaption,
- String baseFontSize, boolean ISCreateFile, String pFileName) {
- //List<StatisticsOfIfaceNumber> IFaceNumberList = StatisticsOfIfaceNumberDao
- // .getStatisticsOfIfaceNumberList();
- //int ListSize = IFaceNumberList.size();
- CaseReportService cs = new CaseReportService();
- List<DisCaseProject> ldcp = cs.getDisCaseProjectData(searchtc);
- int ListSize = ldcp.size();
- Document document = DocumentHelper.createDocument();
- Element root = document.addElement("graph").addAttribute("caption",
- caption).addAttribute("baseFontSize", baseFontSize)
- .addAttribute("showNames", "1").addAttribute(
- "decimalPrecision", "0").addAttribute(
- "formatNumberScale", "0").addAttribute("yAxisMinValue",
- "0");
- if (subCaption != null) {
- root.addAttribute("subCaption", subCaption);
- }
- int totalCaseCount = 0;
- Iterator<DisCaseProject> its = ldcp.iterator();
- while (its.hasNext()) {
- DisCaseProject Temp_CaseCount = its.next();
- if (Temp_CaseCount == null)
- break;
- totalCaseCount = totalCaseCount + Temp_CaseCount.getCount();
- }
- if (ListSize > com.help.Colordef.colorCount) {
- String color[] = new String[ListSize];
- for (int i = 0; i < ListSize; i++) {
- double n = Math.random();
- double m = Math.random();
- double k = Math.random();
- int j = (int) (n * m * k * 0xFFFFFF);
- color[i] = Integer.toHexString(j);
- }
- Iterator<DisCaseProject> it = ldcp.iterator();
- int iColor = 0;
- while (it.hasNext()) {
- DisCaseProject temp = it.next();
- if (temp == null)
- break;
- root.addElement("set").addAttribute(
- "name",
- temp.getProjectname()
- + ":"
- + (int) (((float) temp.getCount()/(float)totalCaseCount) * 100)
- + "%").addAttribute("value",
- Integer.toString(temp.getCount()))
- .addAttribute("color", color[iColor]);
- iColor++;
- }
- } else {
- Iterator<DisCaseProject> it = ldcp.iterator();
- int iColor = 0;
- while (it.hasNext()) {
- DisCaseProject temp = it.next();
- if (temp == null)
- break;
- root
- .addElement("set")
- .addAttribute(
- "name",
- temp.getProjectname()
- + ":"
- + (int) (((float) temp.getCount()/ (float) totalCaseCount) * 100)
- + "%")
- .addAttribute("value",
- Integer.toString(temp.getCount()))
- .addAttribute(
- "color",
- com.help.Colordef.color[iColor]);
- iColor++;
- }
- }
- if (ISCreateFile == true) {
- XMLWriter output;
- try {
- output = new XMLWriter(new FileWriter(new File(pFileName)));
- output.write(document);
- output.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- return document.asXML();
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
- * response)
- */
- protected void doGet(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- this.doPost(request, response);
- // TODO Auto-generated method stub
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
- * response)
- */
- protected void doPost(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- HttpSession session = request.getSession(false);
- TestCase searchtc = (TestCase) session.getAttribute("searchtc");
- String xmldata = CreateCasePorjectDibtXmlData(searchtc, "case 项目用例分布图", "", "12", false, null);
- PrintWriter out = response.getWriter();
- try {
- xmldata = xmldata.replaceAll("\"","'");
- xmldata = xmldata.replaceAll("%","%");
- //xmldata = URLEncoder.encode(xmldata,"utf-8");
- System.out.println(xmldata);
- out.write(xmldata);
- } catch (NumberFormatException e) {
- out.write("invalid data");
- }
- out.close();
- }
XMLDATA数据如下:
<?xml version='1.0' encoding='UTF-8'?>
< graph caption='case 项目用例分布图' baseFontSize='12' showNames='1' decimalPrecision='0' formatNumberScale='0' yAxisMinValue='0' subCaption=''><set name='bvt:37%' value='77' color='AFD8F8'/><set name='bonline:33%' value='70' color='F6BD0F'/><set name='chatroam:12%' value='25' color='8BBA00'/><set name='imuser_migrate:7%' value='16' color='FF8E46'/><set name='es_refactoring_1:6%' value='13' color='008E8E'/><set name='sms:1%' value='4' color='D64646'/><set name='ww_site_msg:1%' value='3' color='8E468E'/></graph>
< graph caption='case 项目用例分布图' baseFontSize='12' showNames='1' decimalPrecision='0' formatNumberScale='0' yAxisMinValue='0' subCaption=''><set name='bvt:37%' value='77' color='AFD8F8'/><set name='bonline:33%' value='70' color='F6BD0F'/><set name='chatroam:12%' value='25' color='8BBA00'/><set name='imuser_migrate:7%' value='16' color='FF8E46'/><set name='es_refactoring_1:6%' value='13' color='008E8E'/><set name='sms:1%' value='4' color='D64646'/><set name='ww_site_msg:1%' value='3' color='8E468E'/></graph>
js页面端代码
- function load_project_case_panel() {
- Ext.Ajax.request({
- url : 'GetCasePorjectDistributedData',
- success : function(response) {
- xmlData = response.responseText;
- //alert(xmlData);
- var strFlashVars = "chartWidth=500&chartHeight=200&debugMode=0&dataXML="+ xmlData+ "";
- var dis_project_case_panel = new Ext.Panel(
- {
- width : Glb.outer_center.getWidth() * 0.7,
- height : 250,
- html : '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'
- +'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'
- + 'width=600 height=250>'
- + '<param name="allowScriptAccess" value="always" />'
- + '<param name="movie" value="/taiji/static/flash/Pie3D.swf" />'
- + '<param name="wmode" value="transparent" />'
- + '<param name="FlashVars" value=' + "\""+strFlashVars+"\"" +'/>'
- + '<param name="quality" value="high" />'
- + '<embed src="/taiji/static/flash/Pie3D.swf" '
- + 'FlashVars=\"' +strFlashVars
- + '\" quality="high" width=600 height=250 allowScriptAccess="always" type="application/x-shockwave-flash"'
- + 'pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent"/>'
- + '</object>'
- });
- dis_project_case_panel.show();
- outer_center_center.add(dis_project_case_panel);
- Glb.outer_center.show();
- Glb.outer_center.doLayout();
- },
- failure : function() {
- Ext.Msg.alert("提示", "连接数据库错误或连接超时!");
- }
- });
- }
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/751969,如需转载请自行联系原作者