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 に答える