新浪微博 登陆  注册   设为首页 加入收藏

学PHP >> 数据库 >> Flex使用 RemoteObject 组件

Flex使用 RemoteObject 组件

查看次数3877 发表时间2014-05-29 20:00:56

示例 RemoteObject 应用程序在 ActionScript 中调用 RemoteObject 组件访问源路径中的 Java 对象访问 JNDI 中的 EJB 和其它对象保留的方法名称ActionScript 和 Java 之...

示例 RemoteObject 应用程序

可以使用 Flex RemoteObject 组件来针对 ColdFusion 组件或 Java 类调用方法。

还可以将包含 PHP 和 .NET 对象的 RemoteObject 组件与第三方软件(如开放源代码项目 AMFPHP 和 SabreAMF 以及 Midnight Coders WebORB)结合使用。有关详细信息,请访问以下网站:

RemoteObject 组件使用 AMF 协议发送和接收数据,而 WebService 和 HTTPService 组件使用 HTTP 协议。AMF 显著快于 HTTP,但服务器端编码和配置通常更复杂。

与 HTTPService 和 WebService 组件一样,您可以使用 RemoteObject 组件在应用程序中显示数据库查询结果。也可以使用该组件在数据库中插入、更新和删除数据。在将查询结果返回到应用程序之后,可以将其显示在一个或多个用户界面控件中。

有关 RemoteObject 组件的 API 参考信息,请参阅 mx.rpc.remoting.mxml.RemoteObject

示例 RemoteObject 应用程序

MXML 代码

以下示例中的应用程序使用 RemoteObject 组件调用 ColdFusion 组件。ColdFusion 组件查询一个名为 users 的 MySQL 数据库表。它将查询结果返回到应用程序,在该应用程序中,查询结果将绑定到 DataGrid 控件的 dataProvider 属性并显示在 DataGrid 控件中。应用程序还将新用户的用户名和电子邮件地址发送到 ColdFusion 组件,ColdFusion 组件会在用户数据库表中执行插入操作。

<?xml version="1.0" encoding="utf-8"?> 
<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>

在此应用程序中,RemoteObject 组件的 destination 属性设置为 Coldfusionsource 属性设置为 ColdFusion 组件的完全限定名称。

与之相反,在使用 LiveCycle Data Services ES 或 BlazeD
(转发请注明转自:学PHP)    


  相关推荐



1楼 Lisa说: 2016-12-22 13:49:59
Really trtshwortuy blog. Please keep updating with great posts like this one. I have booked marked your site and am about to email it to a few friends of mine that I know would enjoy reading..

  发表评论
昵称:
(不超过20个字符或10个汉字)
内容: