RUBY AMF中Flex2的应用

这是一个应用RemoteObject和Rubyamf 的HelloWorld的演示实例。我们点击sayHello按钮,然后访问服务器端Ruby代码,然后在客户端显示服务器端返回的结果。
现在让我们开始:
1.打开Flex Builder 2。
2.创建一个HelloWorld的新工程。(File > New > Flex Project)
3.选择Basic application。
4.拷贝下面的代码到HelloWorld.mxml
<? xml version="1.0" encoding="utf-8" ?>
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"  verticalAlign ="middle"  horizontalAlign ="center"   >
    
< mx:RemoteObject  id ="myservice"  fault ="sayHelloFault(event)"  showBusyCursor ="true"  source ="tutorials.HelloWorld"  destination ="rubyamf" >
        
< mx:method  name ="sayHello"   result ="sayHelloResult(event)"   />
    
</ mx:RemoteObject >

    
< mx:Script >
        
<![CDATA[
            import mx.managers.CursorManager;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;

            private function sayHelloFault(fault:FaultEvent):void
            {
                CursorManager.removeBusyCursor();
                result_text.text = "code: " + fault.fault.faultCode + " Message: " + fault.fault.faultString + " Detail: " + fault.fault.faultDetail;
            }

            private function sayHelloResult(evt:ResultEvent):void
            {
                result_text.text = evt.message.body.toString(); // same as: evt.result.toString();
            }
        
]]>
    
</ mx:Script >
    
< mx:Panel  title ="Rubyamf Says Hello"  paddingTop ="20"  paddingLeft ="20"  paddingBottom ="20"  paddingRight ="20" >
        
< mx:Label  x ="10"  y ="10"  text ="Result:" />
        
< mx:TextArea  x ="10"  y ="36"  width ="319"  height ="113"  id ="result_text" />
        
< mx:Button  x ="250"  y ="157"  label ="sayHello"  width ="79"  click ="myservice.getOperation('sayHello').send();" />
        
< mx:Button  x ="250"  y ="187"  label ="test fault"  click ="myservice.getOperation('foo').send(); " />
    
</ mx:Panel >     
</ mx:Application >
5.新建一个services-config.xml的文件,然后拷贝下面代码。
<? xml version="1.0" encoding="UTF-8" ?>
< services-config >
    
< services >
        
< service  id ="rubyamf"  class ="flex.messaging.services.RemotingService"  messageTypes ="flex.messaging.messages.RemotingMessage" >
            
< destination  id ="rubyamf" >
                
< channels >
                    
< channel  ref ="rubyamf" />
                
</ channels >
                
< properties >
                    
< source > * </ source >
                
</ properties >
            
</ destination >
        
</ service >
    
</ services >
    
< channels >
        
< channel-definition  id ="rubyamf"  class ="mx.messaging.channels.AMFChannel" >
            
< endpoint  uri ="http://localhost:8024/gateway.rb"  class ="flex.messaging.endpoints.AMFEndpoint" />
        
</ channel-definition >
    
</ channels >
</ services-config >
6.然后在Project > Properties 下的additional compiler arguments里填写 -locale en_US –services “services-config.xml”。
7.编译生成文件
编译生产后的swf文件 就可以访问rubyamf里的方法了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值