关于FLEX中的XML转换为ArrayCollection的应用计算机二级考试

文章作者 100test 发表时间 2009:06:15 09:48:57
来源 100Test.Com百考试题网


  编辑特别推荐:

  全国计算机等级考试(等考)指定教材

  全国计算机等级考试学习视频

  全国计算机等级考试网上辅导招生

  全国计算机等级考试时间及科目预告

  百考试题教育全国计算机等级考试在线测试平台

  全国计算机等级考试资料下载

  全国计算机等级考试论坛

  计算机等级考试四级应用题解析汇总

  2009年下半年全国计算机二级考试报名时间从6月1日起已经开始报名。详情点击:2009年下半年全国计算机等级考试各地报名点汇总。2009年下半年全国计算机二级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库

  (FLEX生成饼图)关于FLEX中的XML转换为ArrayCollection的应用.
  说说应用.数据库的使用空间的饼图.当然可以有更多的数据对比.这个根据需求:
  题记:学习这个FLEX真是逼不得已,由于最近用这个东西做项目,说实话,好多东西都是我从网上copy过来的,说起来十分汗颜.
  自己做的那点东西,完全不足挂齿.好了,还是言归正传吧,把自己的一点点收获还是奉献给大家:这里要谈的是FLEX当中后台获取的XML(主要是自己从数据库当中获取的数据,自己封装的XML)转换成ArrayCollection并且生成饼图.
  首先是从后台得到数据,这里只有一点重要的,就是HTTPService的resultFormat,这里大家大可以换很多方式来试试.说起来真是屡试不爽,呵呵,就这么点东西,自己还以为发现了新大陆,原来这个早已经被开垦过的东西已经所剩无几了,哈哈.
  还是来谈程序吧,
  数据来源,后台,来看看Java代码.
  view plaincopy to clipboardprint?
  @Override
  public void queryDatabasestat(HttpServletRequest request,
  HttpServletResponse response) {
  StringBuffer xml = new StringBuffer().
  try {
  Map<.String, Object>. map = (Map<.String, Object>.) ((databasestatDao
  .query()).get(0)).
  /*
  //xml.append("[").
  xml.append("{").append("name:\"空闲空间\", value:").append(
  String.valueOf(map.get("FREESPACE"))).append("},").
  xml.append("{").append("name:\"使用空间\", value:").append(
  String.valueOf(map.get("USEDSPACE"))).append("}").
  //xml.append("]").
  */
  xml.append("<.projects>.").
  xml.append("<.project").append(" name=\"可用空间\" value=\"").append(
  String.valueOf(map.get("FREESPACE"))).append("\"").append("/>.").
  xml.append("<.project").append(" name=\"已用空间\" value=\"").append(
  String.valueOf(map.get("USEDSPACE"))).append("\"").append("/>.").
  xml.append("<./projects>.").
  //System.out.println(xml).
  } catch (Exception e) {
  e.printStackTrace().
  xml.append(ToyXML.writeAlert(false, "获取菜单树失败:\n" e.getMessage())).
  } finally {
  writeXML(response, xml).
  //System.out.println("xml---------->.").
  //System.out.println(xml).
  }
  }
  @Override
  public void queryDatabasestat(HttpServletRequest request,
  HttpServletResponse response) {
  StringBuffer xml = new StringBuffer().
  try {
  Map<.String, Object>. map = (Map<.String, Object>.) ((databasestatDao
  .query()).get(0)).
  /*
  //xml.append("[").
  xml.append("{").append("name:\"空闲空间\", value:").append(
  String.valueOf(map.get("FREESPACE"))).append("},").
  xml.append("{").append("name:\"使用空间\", value:").append(
  String.valueOf(map.get("USEDSPACE"))).append("}").
  //xml.append("]").
  */
  xml.append("<.projects>.").
  xml.append("<.project").append(" name=\"可用空间\" value=\"").append(
  String.valueOf(map.get("FREESPACE"))).append("\"").append("/>.").
  xml.append("<.project").append(" name=\"已用空间\" value=\"").append(
  String.valueOf(map.get("USEDSPACE"))).append("\"").append("/>.").
  xml.append("<./projects>.").
  //System.out.println(xml).
  } catch (Exception e) {
  e.printStackTrace().
  xml.append(ToyXML.writeAlert(false, "获取菜单树失败:\n" e.getMessage())).
  } finally {
  writeXML(response, xml).
  //System.out.println("xml---------->.").
  //System.out.println(xml).
  }
  }
  这里返回的就是一个XML格式的数据流.然后就是FLEX的页面获取.
  见程序:
  view plaincopy to clipboardprint?
  <.?xml version="1.0" encoding="utf-8"?>.
  <.mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationCompleteEffect="seqIn"
  width="100%" height="100%" verticalScrollPolicy="off"
  implements="modules.control.IModuleController"
  creationComplete="init().">.
  <.mx:HTTPService id="request4xml" resultFormat="e4x"
  url="{actionURL}" method="post" showBusyCursor="true"
  result="response4xml(event)."/>.
  <.mx:Style source="resources/css/project.css" />.
  <.!-- 全局 -->.
  <.mx:Script source="../../../resources/ases/main.as" />.
  <.!-- 工具 -->.
  <.mx:Script source="../../../resources/ases/toy.as" />.
  <.!-- 模块控制器 -->.
  <.mx:Script source="../../control/ModuleController.as" />.
  <.!-- 业务实现 -->.
  <.mx:Script source="business/bs4xml.as" />.
  <.mx:Script>.
  <.!--[CDATA[
  import mx.utils.ObjectProxy.
  import mx.utils.ObjectUtil.
  import mx.collections.ArrayCollection.
  import mx.rpc.events.ResultEvent.
  import mx.controls.Alert.
  import mx.charts.series.items.PieSeriesItem.
  import mx.charts.events.ChartItemEvent.
  [Bindable]
  private var actionURL:String = address databasestat.do.
  private var xmlObj:XML.
  private var arr:ArrayCollection.
  private function pieChart_itemClick(evt:ChartItemEvent):void {
  var psi:PieSeriesItem = evt.hitData.chartItem as PieSeriesItem.
  Expense.text = "项目: " psi.item.@name.
  Amount.text = "使用量: " psi.item.@value (M).
  percent.text = "使用率: " psi.percentValue.toFixed(1) "%"
  //percent.text = "水果比例: " psi.percentValue.toFixed(1) "%"
  }

相关文章


计算机二级考试java辅导:Java中的DAO计算机二级考试
关于FLEX中的XML转换为ArrayCollection的应用计算机二级考试
tomcat下如果使用j2ee5.0,会导致EL语言的失效计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛