`
唐朝
  • 浏览: 261461 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Flex使用RemotingObject和后台通信的基本步骤

    博客分类:
  • flex
阅读更多
代码如果混乱看附件

编写java类,类的方法如果要返回多个对象则一般返回对象数组,这里使用的是spring+hibernate

  • java 代码
    1. package cn.com.fire.fireshow.service;   
    2.   
    3. import java.io.Serializable;   
    4. import java.util.Date;   
    5. import java.util.Iterator;   
    6. import java.util.List;   
    7.   
    8. import org.springframework.context.ApplicationContext;   
    9. import org.springframework.context.support.FileSystemXmlApplicationContext;   
    10.   
    11. import cn.com.fire.fireshow.domain.Meetings;   
    12. import cn.com.fire.util.dao.BaseDAO;   
    13. import cn.com.fire.util.page.PageBean;   
    14.   
    15. public class MeetingService {   
    16.        
    17.     private BaseDAO dao;   
    18.        
    19.     public void setDao(BaseDAO dao) {   
    20.         this.dao = dao;   
    21.     }   
    22.        
    23.     public MeetingService()   
    24.     {   
    25.         ApplicationContext ctx = ApplicationContextInit.getApplicationContext();   
    26.         dao = (BaseDAO)ctx.getBean("baseDAO");   
    27.     }   
    28.        
    29.     public void insertMeeting(Meetings meeting)   
    30.     {   
    31.         dao.insertObject(meeting);   
    32.     }   
    33.        
    34.     public void deleteMeetingByID(Serializable meetingID)   
    35.     {   
    36.         dao.deleteObjectByID(Meetings.class, meetingID);   
    37.     }   
    38.        
    39.     public void deleteMeetingByIDs(Serializable[] meetingIDs)   
    40.     {   
    41.         dao.deleteObjectByIDs(Meetings.class, meetingIDs);   
    42.     }   
    43.        
    44.     public void updateMeeting(Meetings meeting)   
    45.     {   
    46.         dao.updateObject(meeting);   
    47.     }   
    48.        
    49.     public void updateMeetings(Meetings[] meetings)   
    50.     {   
    51.         dao.updateObject(meetings);   
    52.     }   
    53.        
    54.     public Meetings queryMeetingByID(Serializable meetingID)   
    55.     {   
    56.         return (Meetings)dao.queryObjectByID(Meetings.class, meetingID);   
    57.     }   
    58.        
    59.     public List queryMeetingPage(PageBean pageBean, String hql)   
    60.     {   
    61.         return dao.queryObjectPage(pageBean, hql);   
    62.     }   
    63.        
    64.     public Meetings[] queryMeetingByHQL(String hql)   
    65.     {   
    66.         List list = dao.queryObjectByHQL(hql);   
    67.         Meetings[] meetings = new Meetings[list.size()];   
    68.         for (int i = 0; i < list.size(); i++) {   
    69.             Meetings meeting = (Meetings)list.get(i);   
    70.             meetings[i] = meeting;   
    71.         }   
    72.         return meetings;   
    73.     }   
    74.        
    75.     public static void main(String[] args)   
    76.     {   
    77.         MeetingService ms = new MeetingService();   
    78.         Meetings meeting = new Meetings();   
    79.         meeting.setMaxClient(new Integer(10));   
    80.         meeting.setMeetingEndDate(new Date());   
    81.         meeting.setMeetingMotif("中国人");   
    82.         meeting.setMeetingName("视频会议");   
    83.         meeting.setMeetingOrganiger("大陆的中国人");   
    84.         meeting.setMeetingPassword("password");   
    85.         meeting.setMeetingStartDate(new Date());   
    86.         //ms.insertMeeting(meeting);   
    87.         //List list = ms.queryMeetingByHQL("from Meetings meetings");   
    88.         //System.out.println(list.size());   
    89.     }   
    90. }   

 

编辑项目的WEB-INF/flex/目录下的remoting-config.xml,添加对java类的引用:

  1. <destination id="meetingService">  
  2.         <properties>  
  3.             <source>cn.com.fire.fireshow.service.MeetingServicesource>  
  4.         properties>  
  5.     destination>  

 

编写前台mxml文件

  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">  
  3.     <mx:Script>  
  4.         <!----> 
  5.             import mx.controls.Alert;  
  6.             import mx.utils.ArrayUtil;  
  7.               
  8.             private function initApp():void  
  9.             {  
  10.                 queryMeetings.queryMeetingByHQL("from Meetings meetings");  
  11.             }  
  12.             private function formatDate(item:Object,column:DataGridColumn):String  
  13.             {  
  14.                 return df.format(item.meetingEndDate);  
  15.             }// df 是一个 DateFormatter,在下面会给出。关于如何格式化DataGrid的显示  
  16.             private function formatDate2(item:Object,column:DataGridColumn):String  
  17.             {  
  18.                 return df.format(item.meetingStartDate);  
  19.             }  
  20.             private function proccessResult(result:Object):void  
  21.             {  
  22.                 meetingDG.dataProvider = ArrayUtil.toArray(result);  
  23.             }  
  24.         ]]>  
  25.     mx:Script>  
  26.        
  27.     <mx:DateFormatter id="df" formatString="YYYY年MM月DD日"/>  
  28.        
  29.     <mx:RemoteObject id="queryMeetings" destination="meetingService" showBusyCursor="true" result="proccessResult(event.result)" fault="Alert.show(event.fault.faultString,'Error')">  
  30.     mx:RemoteObject>  
  31.        
  32.     <mx:TitleWindow width="981" height="329" layout="absolute" title="会议管理列表" horizontalCenter="-48" verticalCenter="-92.5">  
  33.         <mx:Grid width="802" horizontalCenter="-22" y="83">  
  34.             <mx:GridRow width="100%" height="100%">  
  35.                 <mx:GridItem width="100%" height="100%">  
  36.                     <mx:DataGrid id="meetingDG" editable="true" enabled="true">  
  37.                         <mx:columns>  
  38.                             <mx:DataGridColumn headerText="会议编号" dataField="meetingId"/>  
  39.                             <mx:DataGridColumn headerText="会议名称" dataField="meetingName"/>  
  40.                             <mx:DataGridColumn headerText="会议密码" dataField="meetingPassword"/>  
  41.                             <mx:DataGridColumn headerText="最大参与人数" dataField="maxClient"/>  
  42.                             <mx:DataGridColumn headerText="会议发起人" dataField="meetingOrganiger"/>  
  43.                             <mx:DataGridColumn headerText="会议主题" dataField="meetingMotif"/>  
  44.                             <mx:DataGridColumn headerText="会议开始时间" dataField="meetingStartDate" labelFunction="formatDate2"/>  
  45.                             <mx:DataGridColumn headerText="会议结束时间" dataField="meetingEndDate" labelFunction="formatDate"/>  
  46.                         mx:columns>  
  47.                     mx:DataGrid>  
  48.                 mx:GridItem>  
  49.             mx:GridRow>  
  50.             <mx:GridRow width="100%" height="100%">  
  51.                 <mx:GridItem width="100%" height="100%">  
  52.                     <mx:Button label="保存会议"/>  
  53.                     <mx:Button label="删除会议"/>  
  54.                 mx:GridItem>  
  55.             mx:GridRow>  
  56.         mx:Grid>  
  57.     mx:TitleWindow>  
  58.        
  59. mx:Application>  
分享到:
评论
2 楼 lingwen20 2008-07-16  
代码能不能发全点啊
就这一点点
1 楼 anone 2008-03-20  
这个正是偶要找的。。。谢谢LZ

相关推荐

    flex与后台通讯方式

    1. BlazeDS和LCDS:Flex与后台通信通常借助于BlazeDS或LCDS(LiveCycle Data Services),这两个都是Adobe提供的服务器端技术,用于实现Flex与Java或.NET等后端服务的集成。BlazeDS是免费的,而LCDS提供了更高级的...

    Flex 连接后台Java的几种方法选择

    RemotingObject 技术是 Blazeds 的核心,能够直接远程调用 Java 后台提供的公共接口,使其效率大大提升,一般是采用 HTTPService 方式的 10 倍左右。 LiveCycle Data Services LiveCycle Data Services 是一个功能...

    flex 实例,挺不错的哦

    在本文中,我们将探讨如何使用Flex进行远程对象(Remote Object)的实践操作,以及相关的开发环境和步骤。 一、开发环境与工具 1. JDK 1.6.0:Java Development Kit,为Flex提供后台服务器环境。 2. MyEclipse 6.5...

    FLex整合hibernate spring

    7. **配置Flex与Spring的连接**:在Flex的services-config.xml和remoting-config.xml中设置SpringFactory,确保Flex可以通过AMF与Spring服务进行通信。 8. **处理Flex与Spring的兼容性问题**:解决可能遇到的类版本...

    Flex与Java通信采用blazeDS的方式的例子helloworld

    总结,这个“Hello, World”例子展示了Flex与Java通信的基本流程:在Flex中通过RemoteObject调用Java服务,Java服务返回数据,BlazeDS负责数据的传输和转换。实际开发中,我们可以将此模式扩展到更复杂的数据交换...

    Flex与.Net互操作

    通过两者之间的互操作,开发者可以充分利用Flex的展示优势和.NET的后台处理能力,构建出高效且功能全面的Web解决方案。 Flex与.NET的互操作主要依赖于Adobe的Flash Player或Adobe AIR运行时环境以及Adobe的...

    Myeclipse8.5+flex4.5+Blazeds+SSH环境搭建.pdf

    Blazeds使用Remote Object (Remoting)和Web Messaging技术,使得Flex客户端可以调用Java服务端的方法,实现数据的双向交互。这种架构在企业级应用开发中非常常见,因为它提供了丰富的用户界面和强大的后台处理能力。...

    FluorineFx配置注意事项

    FluorineFx是一款开源的.NET框架,用于实现Adobe Flex与.NET应用程序之间的消息传递和远程...此外,了解AMF协议和Flex Remoting概念对理解和解决问题也很有帮助。记住,始终检查日志文件以获取配置或运行时错误的线索。

    BlazeDS的初步使用

    通过以上步骤,我们成功实现了使用BlazeDS进行Flex与Java之间的数据交互。在实际项目中,BlazeDS还可以配合LiveCycle Data Services提供更复杂的功能,如数据推送、事件广播和数据缓存等,极大地提升了富客户端应用...

    BlazeDS整合Spring实现增删改查

    - **使用RemoteObject**: Flex客户端通过`mx.rpc.remoting.RemoteObject`与BlazeDS通信,调用服务器上的Spring服务。 5. **安全性与优化** - **安全考虑**: 对于敏感操作,需要在Spring Security或其他认证框架中...

    基于J2EE的Ajax宝典.docx

    **标签**所提到的**dojo**、**dwr**、**rpc**和**js**,分别对应了Ajax框架Dojo、Direct Web Remoting(DWR)、Remote Procedure Call(RPC)和JavaScript。Dojo是一个强大的JavaScript工具包,提供丰富的UI组件和...

Global site tag (gtag.js) - Google Analytics