0

我开发了 java 程序,它将接受数据记录(函数参数)并将插入到数据库中。但是,我不知道如何将参数从 flex 传递给这个 Java 方法。

4

2 回答 2

0

flex 和 java 之间有不同的通信方式。我建议您查看 BlazeDS 框架。有很多教程可用。

于 2012-08-28T09:27:45.953 回答
0

请阅读使用 RemoteObject 组件

例如:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 
    <fx:Declarations> 
        <mx:RemoteObject 
            id="userRequest" 
            destination="ColdFusion" 
            source="flexapp.returnusers"> 

            <mx:method name="returnRecords" result="returnHandler(event)" 
                       fault="mx.controls.Alert.show(event.fault.faultString)"/> 
            <mx:method name="insertRecord" result="insertHandler()" 
                       fault="mx.controls.Alert.show(event.fault.faultString)"/> 
        </mx:RemoteObject> 
    </fx:Declarations> 

    <fx:Script> 
        <![CDATA[ 
            import mx.rpc.events.ResultEvent; 

            private function returnHandler(e:ResultEvent):void  
            { 
                dgUserRequest.dataProvider = e.result; 
            } 
            private function insertHandler():void  
            { 
                userRequest.returnRecords(); 
            } 
            private function clickHandler():void  
            { 
                userRequest.insertRecord(username.text, emailaddress.text); 
            }  
        ]]> 
    </fx:Script> 

    <mx:Form x="22" y="10" width="300"> 
        <mx:FormItem> 
            <s:Label text="Username" />     
            <s:TextInput id="username"/> 
        </mx:FormItem> 
        <mx:FormItem> 
            <s:Label text="Email Address" />     
            <s:TextInput id="emailaddress"/> 
        </mx:FormItem> 
        <s:Button label="Submit" click="clickHandler()"/> 
    </mx:Form> 

    <mx:DataGrid id="dgUserRequest" x="22" y="200"> 
        <mx:columns> 
            <mx:DataGridColumn headerText="User ID" dataField="userid"/> 
            <mx:DataGridColumn headerText="User Name" dataField="username"/> 
        </mx:columns> 
    </mx:DataGrid> 
</s:Application> 

在返回处理程序中,您收到 e:ResultEvent 并且 e.result 包含远程方法调用的结果。

为了

userRequest.returnRecords();

在Java方面将是

public List<User> returnRecords(); 
于 2012-09-05T12:37:48.023 回答