beicuinan 2012-10-19 11:54
浏览 366
已采纳

jsp和flex传值的问题

把FLEX生成的SWF嵌入到JSP中,JSP传参数给FLEX.我想用ExternalInterface.addCallback进行传植操作,但是不能成功,求指点.
JSP代码:
[code="java"]



My JSP 'MyJsp.jsp' starting page
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->


This is my JSP page.



name:


id="flex" width="100%" height="100%"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">




width="100%" height="100%" name="flex" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">



[/code]

FLEX代码:
[code="java"]
<?xml version="1.0" encoding="utf-8"?>

mx:Script
<![CDATA[
import mx.controls.Alert;
private function init():void{
ExternalInterface.addCallback("getData",testFunction);
}

        private function testFunction(param:String):void{
            Alert.show("Alert:");
            text.text = param;
        }
    ]]>
</mx:Script>
<mx:TextInput id="text" width="200" height="20" text="12"/>

/mx:Application
[/code]
JS代码:
[code="java"]
function deliverData(){
alert("gaga");
var flashPlay = document.getElementById("flex");
flashPlay.getData("haha");
}
[/code]
每次都进入了js代码,但是传不到FLEX里的SWF中.
求指点... 不胜感激

  • 写回答

2条回答

  • iteye_5246 2012-10-19 12:27
    关注

    顺便送你一个demo:
    [code="as"]
    import flash.external.ExternalInterface;
    ExternalInterface.call("Ok");
    function beginSnap(){
    ExternalInterface.call("Ok");
    }
    ExternalInterface.addCallback("beginSnap",beginSnap);
    [/code]

    [code="html"]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script>
            var dt=new Object();
            var start=false;
            //类块开始 BEGAIN
            function  bigHead(Id){       
                    if (navigator.appName.indexOf("Microsoft") > -1){
                            this.swfObj=window[Id];
                    }else{
                            this.swfObj=document[Id];
                    }
            }
            bigHead.prototype.beginSnap=function(){if(start==true){this.swfObj.beginSnap()}}
    </script>
    </head>
    <body onload="dt=new bigHead('bigHead');">
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" name="bighead" width="640" height="240" id="bigHead">
      <param name="movie" value="a.swf" />
      <param name="quality" value="high" />
      <param name="allowScriptAccess" value="sameDomain" />
      <param name="bgcolor" value="#666666" />
      <embed src="a.swf" bgcolor="#666666" width="640" height="240" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowScriptAccess="sameDomain" name="bigHead"></embed>
    </object>
    <br><input type="button" value="执行" onClick="dt.beginSnap();">
    <script>
    function Ok(){
            alert("ok")
    }
    </script>
    </body>
    </html>
    

    [/code]

    demo 连接:
    [url]http://blog.zol.com.cn/1737/article_1736946.html[/url]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?