`
vr393vr
  • 浏览: 11824 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

页面中嵌入FLEX应用-传参

阅读更多

页面中嵌入FLEX应用-传参
2010年06月29日
  项目需要在页面的某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; 获取参数并向后台服务发请求的示例代码:      ...  示例代码中略去了处理xml的逻辑代码。大可以选择丰富的Chart控件,进行数据展示。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics