在上篇文章中已经对如何实现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;
}
}
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;
}
/**
* 测试方法
* @return
*/
public Student getStudents(){
List<Student> stuList=new ArrayList<Student>();
Student student=new Student();
student.setStuName("彭甜");
student.setPassword("123456");
student.setSex("男");
student.setAge(20);
stuList.add(student);
System.out.println("--->"+stuList.size());
return student;
}
/**
* 获取所有的学生信息
* @return
*/
@SuppressWarnings("rawtypes")
public List getStudentList(){
List<Student> stuList=new ArrayList<Student>();
for(int i=0;i<5;i++)
{
Student student=new Student();
student.setStuName("彭甜"+i);
student.setPassword("123456");
student.setSex("男");
student.setAge(20+i);
stuList.add(student);
}
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控件:你会看见有个黄色的链子图状点击他,然后选择所需要的,接下点击完成,如图:
第十一步、最终效果,如图: