? ? ? 在上篇文章中已经对如何实现Flex4.5+Java实现通讯做了说明,接下将叙说如何从java获取数据绑定到Flex中控件数据,
? ? ?
? ? ?第一步、新建一个项目为动态Web项目 Student,将Blazed.war解压后WEB-INF文件夹中flex,lib以及web.xml三样东西复制到我们的Web Project的WEB-INF下并覆盖同名文件。
? ? 第二步、要解禁web.xml中的注解,并且把<param-name>useAppserverSecurity</param-name><param-value>false(改为true)</param-value>
? ? 第三步、新建一个学生类Student:
??
package com.cn;
public class Student {
/**
?* 姓名
?*/
private String stuName;
/**
?* 密码
?*/
private String password;
/**
?* 性别
?*/
private String sex;
/**
?* 年龄
?*/
private int age;
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
第四步、新建一个StudentService业务类,程序如下:
package com.cn.service;
import java.util.ArrayList;
import java.util.List;
import com.cn.Student;
/**
?* 学生业务处理类
?* @author pengtian
?*
?*/
public class StudentService {
?* 添加学生方法
?* @param student
?* @return
public String addStudent(Student student){
//定义一个注册学生注册结果返回变量值
String returnResul="注册失败";
List<Student> stuList=new ArrayList<Student>();
stuList.add(student);
if(stuList!=null&&stuList.size()!=0)
{
returnResul="欢迎你的加入 "+stuList.get(0).getStuName();
}
return returnResul;
? }
?* 测试方法
public Student getStudents(){
Student student=new Student();
student.setStuName("彭甜");
student.setPassword("123456");
student.setSex("男");
student.setAge(20);
System.out.println("--->"+stuList.size());
return student;
}
?* 获取所有的学生信息
@SuppressWarnings("rawtypes")
public List getStudentList(){
for(int i=0;i<5;i++)
student.setStuName("彭甜"+i);
student.setAge(20+i);
System.out.println("学生信息记录集:--->"+stuList.size());
return stuList;
}
}
第五步、打开WEB-INF-->flex文件夹找到remoting-config.xml ?要在这文件中要进行相关的配置,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"?
? ? class="flex.messaging.services.RemotingService">
?
? ? <adapters>
? ? ? ? <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
? ? </adapters>
?
? ? <default-channels>
? ? ? ? <channel ref="my-amf"/>
? ? </default-channels>
? ? <destination id="studentService">
? ? <properties>
? ? <source>com.cn.service.StudentService</source>
? ? </properties>
? ? </destination>
?
</service>?
第六部、新建Flex项目名为FlexStudent,实现Java与Flex的通讯,至于详细步骤请阅读Flex4.5+Java实现通迅
第七步、在默认MXML文件FLexStudent.mxml文件中拖一个DataGrid控件上去
第八步、如何获取StudentService业务类返回的集合,在这以调用getStudentList()为例,我们要建立一个BlazeDS服务器连接,勾选复选框,并且输入StudentService业务类所在的包民,然后点击完成,如图

第九步、查看所配置的BlazeDS的服务,如图:

第十步、调用getStudentList()去绑定DataGrid控件:你会看见有个黄色的链子图状点击他,然后选择所需要的,接下点击完成,如图:


第十一步、最终效果,如图:

