flex传递对象给java

上篇是flex解析java对象,这一片是java解析flex的传递的对象,并加入问候语返回。

在上一篇的基础上,修改一下代码:

User.java代码如下:

  1. package com.test;
  2. import java.io.Serializable;
  3. public class User implements Serializable {
  4.     private String strName;
  5.     private String strAddress;
  6.     public User(){}
  7.     public String getStrName() {
  8.         return strName;
  9.     }
  10.     public void setStrName(String strName) {
  11.         this.strName = strName;
  12.     }
  13.     public String getStrAddress() {
  14.         return strAddress;
  15.     }
  16.     public void setStrAddress(String strAddress) {
  17.         this.strAddress = strAddress;
  18.     }
  19. }

 

MyFirstFlex.java代码如下:

  1. package com.test;
  2. public class MyFirstFlex {
  3.     public User getUser(User user)
  4.     {
  5.         User user1 = new User();
  6.         
  7.         user1.setStrAddress("地址是"+user.getStrAddress());
  8.         user1.setStrName("姓名是"+user.getStrName());
  9.         
  10.         return user1;
  11.     }
  12. }

 

 

MyFirstFlex.mxml代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  3.  <mx:Script>
  4.         <![CDATA[
  5.               import mx.rpc.events.ResultEvent;
  6.               import mx.controls.Alert;
  7.               private function getUser():void
  8.               {
  9.                     var user:User = new User();
  10.                     
  11.                     user.strName = txtName.text;
  12.                     user.strAddress=txtAddress.text;
  13.                     
  14.                     userRO.getUser(user);
  15.                     userRO.addEventListener(ResultEvent.RESULT,getROResult);
  16.               }
  17.              
  18.               private function getROResult(e:ResultEvent) :void 
  19.               {
  20.                     var user:Object = e.result as Object;
  21.                     
  22.                     if(user != null)
  23.                     {
  24.                         txtName.text = user.strName;
  25.                         txtAddress.text = user.strAddress;
  26.                     }
  27.                     else
  28.                     {
  29.                         Alert.show("没有结果!");
  30.                     }
  31.               }
  32.         ]]>
  33.    </mx:Script>
  34.     <mx:RemoteObject id="userRO" destination="getUser"/>
  35.     <mx:Panel x="109" y="65" width="411" height="249" layout="absolute" fontSize="12">
  36.         <mx:Label x="69" y="36" text="姓名"/>
  37.         <mx:Label x="69" y="118" text="地址"/>
  38.         <mx:Button x="189" y="161" label="请求" id="btnRequest" click="getUser()"/>
  39.         <mx:TextInput x="126" y="34" id="txtName"/>
  40.         <mx:TextInput x="126" y="116" id="txtAddress"/>
  41.     </mx:Panel>
  42.     
  43. </mx:Application>

 

User.as代码如下(我暂时放在与MyFirstFlex.mxml同一目录下,注意,编写完成后确保与编译后的.swf在同一目录):

 

 

  1. package
  2. {
  3.     [RemoteClass(alias="com.test.User")] 
  4.     public   class User
  5.     {
  6.         public var strName:String;
  7.         public var strAddress:String;
  8.         public function User()
  9.         {
  10.         }
  11.         
  12.     }
  13. }

注意:[RemoteClass(alias="com.test.User")] 用于对应User.java,这个类中的字段类型、名称必须与User.java保持一致。

 

运行:

得到如下界面:

 

输入信息:

点击请求按钮:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值