页面中嵌入FLEX应用-传参

  项目需要在页面的某div中动态展现图表数据,最终选用FLEX进行数据展现。
  为了实现这一目标,着手之初考虑了下大致需要如下步骤:
  1、页面触发事件将数据查询条件参数动态传递给flex应用(swf);
  Page(with param) -> Flex
  2、flex应用获取到查询条件,向后台服务(如:Servlet)发请求,获取数据源(如:xml);
  Flex(with param) -> Servlet
  Servlet(xml) -> Flex
  3、flex展现数据。
  Flex Display xml data.
  为了实现参数传递,费了些周折。最后集中在两个技术点上:
  其一,页面向Flex传参,静态方式可使用flashvars进行: --> Alternative Content --> 那么其中的url的值如何动态赋值呢?我们希望动态的获取参数,并且将这些参数传递给swf,并且将swf展示在某div中。那么便可使swfobject来协助实现:
  swfobject的使用方法非常简单:
  1、下载 http://code.google.com/p/swfobject/
  2、页面中引用:
  3、页面中编写事件响应js代码: function outputFlash(){ var so = new SWFObject("demo.swf", "demo", "100%", "70%", "7", "#ffffff"); var param1 = "testtest"; so.addVariable("param1", param1); so.write("some_div"); } 这段代码,主要是实例化一个swfobject对象,将swf的名称及需要传递的参数告诉该对象,最后将结果swf输出至页面中的某div中即可。
  其中的参数用法可详见另外一篇博文:http://www.awflasher.com/flash/articles/swfobj.htm
  4、页面中自然需要定义id为some_div的div,如: 5、页面中做一个事件触发,比如按钮之类触发outputFlash() js函数即可。
  那么当用户触发该函数后,将会在some_div中看到swf已经内嵌进页面当中。当然,这里只是提前透露了结果,后半部分:flex获取参数并向后台发送请求的实现,请接着往下看:
  其二,Flex获取页面传参,可通过如下方式获得: var param1:String = Application.application.parameters.param1; 获取参数并向后台服务发请求的示例代码: HTTPService id="srv" url="xxxServelt" result="resultHandler(event)" resultFormat="e4x" /> ... 示例代码中略去了处理xml的逻辑代码。大可以选择丰富的Chart控件,进行数据展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值