Flex4与java传递对象

来源:互联网 发布:淮安淘宝文案策划招聘 编辑:程序博客网 时间:2024/05/22 13:48

 问题:
    Flex RemoteObject 怎么传自定义对象给java,并且对应上javaBean??

答:

      只是要加入元数据注释,告诉flex这个VO是要被序列化的。

     【实例:单击命令按钮,将user传递给JAVA打印输出】

一、flex4 界面

    

  代码如下:
     <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
  <s:RemoteObject id="user" destination="test" />
 </fx:Declarations>
 <s:Button x="76" y="152" label="确定" click="button(event)"/>     //单击确认,将文本框输入信息传递给JAVA打印输出
 <s:Label x="78" y="60" width="78" height="22" text="ID:"/>
 <s:Label x="78" y="112" width="78" height="22" text="Name:"/>
 <s:TextInput id="user_id" x="164" y="60"/>
 <s:TextInput id="user_name" x="167" y="113"/>
 <fx:Script>
  <![CDATA[
   public function button(event:MouseEvent):void{    
       var obj:User;
       obj = new User();
       obj.id= user_id.text;
       obj.name = user_name.text;
        user.loadUser(obj);
   }
  ]]>
 </fx:Script>
二 Flex端的对象与JAVA端对象一一对应

   Flex4,User.as

  package
{
        [RemoteClass(alias="demo.User")]
 public class User
 { 
        [Bindable]
        public var id:String;
        [Bindable]
        public var name:String;

  public function User()
  {
  }            
 }
}

    注: 1 alias绑定远程JAVA的类

               2 变量必须是public类型的

               3 类的属性的名字与必须与JAVA类的属性名一样   ******

三 JAVA端User类,User.java

package demo;

public class User {
   private String id;
   private String name;
public String getId() {
 return id;
}
public void setId(String id) {
 this.id = id;
}
public String getName() {
 return name;
}
public void setName(String name) {
 this.name = name;
}

四、JAVA端测试程序Test.java

package demo;

public class Test {

 /**
  * @param args
  */
    public void loadUser(User user){
     System.out.println("id="+user.getId());
     System.out.println("name="+ user.getName());
    }
}

五、remote-config.xml内容

   <destination id="test">
  <properties>
   <source>demo.Test</source>
  </properties>
 </destination>