Apache flex 将参数从flex来回传递到JSP

Apache flex 将参数从flex来回传递到JSP,apache-flex,jsp,actionscript,struts2,flex3,Apache Flex,Jsp,Actionscript,Struts2,Flex3,我有一个朋友给我的flex代码。但是我想定制这个代码来解决我的需求。当flex代码加载到小程序上时,我想从jsp向其传递一个宽度和高度。此宽度和高度将决定捕获图像的宽度和高度。捕获图像后,单击一个“完成”按钮,该按钮调用传递捕获图像的java字节[]的服务器url。代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application initialize="videoDisplay_creationComplete();" x

我有一个朋友给我的flex代码。但是我想定制这个代码来解决我的需求。当flex代码加载到小程序上时,我想从jsp向其传递一个宽度和高度。此宽度和高度将决定捕获图像的宽度和高度。捕获图像后,单击一个“完成”按钮,该按钮调用传递捕获图像的java字节[]的服务器url。代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application initialize="videoDisplay_creationComplete();" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" x="149" y="131">
    <mx:Script>
        <![CDATA[
            import mx.graphics.ImageSnapshot;
            import mx.controls.Alert;

        public var cam:Camera = Camera.getCamera();
        public var video:Video = new Video(320,240);
        public var bitmapData:BitmapData = new BitmapData(video.width,video.height);
        public var snapshot:BitmapData;

    public function init():void
    {
        videoDisplay.visible=false;
    }
        public function start():void{
            if (cam == null)
            {
                Alert.show("No camera is installed","Unable to start capture!!!!");
                return;
            }
            video.attachCamera(cam);
            video.x = 20;
            video.y = 20;
            addChild(video);


            var bitmap:Bitmap = new Bitmap(bitmapData);
            bitmap.x = 360;
            bitmap.y = 20;
            addChild(bitmap);


        }   

        private function captureImage(e:MouseEvent):void 
        {
            bitmapData.draw(video);
        }

        private function videoDisplay_creationComplete():void 
        {               
            btnRestartCapture.enabled=false;
                if (cam!=null) {
                    videoDisplay.attachCamera(cam);
                } else {
                    Alert.show("You don't seem to have a camera.");
                }
            }

           public function takeSnapshot():void
            {
                snapshot = ImageSnapshot.captureBitmapData(videoDisplay);
                var bitmap:Bitmap= new Bitmap(snapshot);
                img.source=bitmap;
                videoDisplay.visible=false;

                btnRestartCapture.enabled=true;
            }


            public function sendToServer():void{
                 var loader:URLLoader= new URLLoader();
                loader.dataFormat = URLLoaderDataFormat.BINARY; 
                loader.data=snapshot.getPixels(new Rectangle(0,0,img.width,img.height));
            }
            private function callJavaScript():void {
                ExternalInterface.call("recievePictureFromFlex",snapshot.getPixels(new Rectangle(0,0,img.width,img.height)));
            }

            public function restartCap():void{
                videoDisplay.visible=true;
                btnRestartCapture.enabled=false;                
            }

            public function done():void
            {
                Alert.show("Done taking pix", "Done");
            }
        ]]>
    </mx:Script>
    <!--<mx:Button label="Capture Image" click="captureImage(null);"  id="capture_mc"/>-->

     <mx:VBox x="405" y="115" backgroundColor="white" >
         <mx:Canvas width="100%" height="100%">
             <mx:Image width="350" id="img" height="300"/>
             <mx:VideoDisplay id="videoDisplay" 
                creationComplete="videoDisplay_creationComplete();"
                width="350"
                height="300"  x="0" y="0"/>
         </mx:Canvas>
         <mx:HBox>
             <mx:Button id="btnRestartCapture" label="Clear Picture" click="restartCap();"/>
             <mx:Button id="snapButton" label="Snap" click="takeSnapshot()" width="113"/>
             <mx:Button id="doneButton" label="Done" click="done()" width="113"/>
         </mx:HBox> 
     </mx:VBox>
</mx:Application>

对于jsp-->Flex通信,您可以使用flashvars: