主要實(shí)現(xiàn)java類方法調(diào)用,java對(duì)象數(shù)組傳遞,flex數(shù)據(jù)傳遞
程序在以下環(huán)境編譯執(zhí)行通過:
flex 1.5 Trail Edition
Tomcat/5.0.19
j2sdk1.4.2_10
WindowsXp Sp2
java文件編譯后未打包,.class文件直接放到{flex-dir}\WEB-INF\classes 目錄下
實(shí)體User.java注意要實(shí)現(xiàn)Serializable接口,否則無法將對(duì)象傳遞到Flex。
注意修改Flex的訪問控制, flex-config.xml 增加<source>*</source>
 <remote-objects>
<remote-objects> <whitelist>
 <whitelist> <!-- whitelist config for unnamed objects -->
            <!-- whitelist config for unnamed objects --> <unnamed>
            <unnamed> <source>*</source>
            <source>*</source>  </unnamed>
            </unnamed> </whitelist>
 </whitelist> </remote-objects>
</remote-objects>RemoteObjectDemo.mxml
 <?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" verticalGap="10" initialize="initApp()">
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" verticalGap="10" initialize="initApp()">
 <mx:Script>
    <mx:Script> < var userList;
        var userList; 
     function initApp() {
        function initApp() { userRO.getAllUser();
            userRO.getAllUser(); }
        }
 ]]>
        ]]> </mx:Script>
    </mx:Script>
 <mx:RemoteObject id="userRO" source="UserManager"
    <mx:RemoteObject id="userRO" source="UserManager" result="userList=event.result" fault="alert(event.fault.faultstring, ‘Error‘)">
        result="userList=event.result" fault="alert(event.fault.faultstring, ‘Error‘)"> 
         </mx:RemoteObject>
    </mx:RemoteObject>
 <mx:HBox>
    <mx:HBox> 
         <mx:Label text="Search"/>
        <mx:Label text="Search"/> <mx:TextInput id="key" width="120"/>
        <mx:TextInput id="key" width="120"/>  
        <mx:Button label="Get User List" click="userRO.getUser(key.text)"/>
        <mx:Button label="Get User List" click="userRO.getUser(key.text)"/>
 </mx:HBox>
    </mx:HBox>
 <mx:DataGrid dataProvider="{userList}" width="100%">
    <mx:DataGrid dataProvider="{userList}" width="100%"> <mx:columns>
        <mx:columns> <mx:Array>
            <mx:Array> <mx:DataGridColumn columnName="id" headerText="Id"/>
                <mx:DataGridColumn columnName="id" headerText="Id"/> <mx:DataGridColumn columnName="name" headerText="Name"/>
                <mx:DataGridColumn columnName="name" headerText="Name"/> <mx:DataGridColumn columnName="phone" headerText="Phone"/>
                <mx:DataGridColumn columnName="phone" headerText="Phone"/> <mx:DataGridColumn columnName="email" headerText="Email"/>
                <mx:DataGridColumn columnName="email" headerText="Email"/> </mx:Array>
            </mx:Array> </mx:columns>
        </mx:columns> </mx:DataGrid>
    </mx:DataGrid>
 </mx:Application>
</mx:Application>
UserManager.java
 import java.util.ArrayList;
import java.util.ArrayList;
 public class UserManager {
public class UserManager {
 public Object[] getUser(String name) {
    public Object[] getUser(String name) { ArrayList users = init();
        ArrayList users = init(); ArrayList finder = new ArrayList();
        ArrayList finder = new ArrayList(); for(int i=0; i<users.size(); i++){
        for(int i=0; i<users.size(); i++){ User user = (User)users.get(i);
            User user = (User)users.get(i); if(user.getName().equals(name)){
            if(user.getName().equals(name)){ finder.add(user);
                finder.add(user); }
            } }
        } return finder.toArray();
        return finder.toArray(); }
    }
 public Object[] getAllUser() {
    public Object[] getAllUser() { return init().toArray();
        return init().toArray(); }
    }
 private ArrayList init() {
    private ArrayList init() { ArrayList list = new ArrayList();
        ArrayList list = new ArrayList();
 list.add(new User(1, "Christina Coenraets", "555-219-2270", "ccoenraets@fictitious.com"));
        list.add(new User(1, "Christina Coenraets", "555-219-2270", "ccoenraets@fictitious.com")); list.add(new User(2, "Louis Freligh", "555-219-2100", "lfreligh@fictitious.com"));
        list.add(new User(2, "Louis Freligh", "555-219-2100", "lfreligh@fictitious.com")); list.add(new User(3, "Ronnie Hodgman", "555-219-2030", "rhodgman@fictitious.com"));
        list.add(new User(3, "Ronnie Hodgman", "555-219-2030", "rhodgman@fictitious.com")); list.add(new User(4, "Joanne Wall", "555-219-2012", "jwall@fictitious.com"));
        list.add(new User(4, "Joanne Wall", "555-219-2012", "jwall@fictitious.com")); list.add(new User(5, "Maurice Smith", "555-219-2012", "maurice@fictitious.com"));
        list.add(new User(5, "Maurice Smith", "555-219-2012", "maurice@fictitious.com")); list.add(new User(6, "Mary Jones", "555-219-2000", "mjones@fictitious.com"));
        list.add(new User(6, "Mary Jones", "555-219-2000", "mjones@fictitious.com")); 
         return list;
        return list;
 }
    }
 }
}
User.java
 import java.io.Serializable;
import java.io.Serializable;
 public class User implements Serializable {
public class User implements Serializable { 
     private int id;
    private int id; private String name;
    private String name; private String phone;
    private String phone; private String email;
    private String email;
 public User() {
    public User() {
 }
    }
 public User(int id){
    public User(int id){ this.id = id;
        this.id = id; }
    }
 public User(int id, String name, String phone, String email) {
    public User(int id, String name, String phone, String email) { this.id = id;
        this.id = id; this.name=name;
        this.name=name; this.phone=phone;
        this.phone=phone; this.email=email;
        this.email=email;
 }
    }
 public int getId() {
    public int getId() { return id;
        return id; }
    }
 public void setId(int id) {
    public void setId(int id) { this.id = id;
        this.id = id; }
    }
 public String getName() {
    public String getName() { return name;
        return name; }
    }
 public void setName(String name) {
    public void setName(String name) { this.name = name;
        this.name = name; }
    }
 public String getPhone() {
    public String getPhone() { return phone;
        return phone; }
    }
 public void setPhone(String phone) {
    public void setPhone(String phone) { this.phone = phone;
        this.phone = phone; }
    }
 public String getEmail() {
    public String getEmail() { return email;
        return email; }
    }
 public void setEmail(String email) {
    public void setEmail(String email) { this.email = email;
        this.email = email; }
    }
 }
}

 
                         
                                
 
                                
 
                        
