2007-09-28
Flex使用RemotingObject和后台通信的基本步骤
代码如果混乱看附件
编写java类,类的方法如果要返回多个对象则一般返回对象数组,这里使用的是spring+hibernate
-
java 代码
- package cn.com.fire.fireshow.service;
- import java.io.Serializable;
- import java.util.Date;
- import java.util.Iterator;
- import java.util.List;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.FileSystemXmlApplicationContext;
- import cn.com.fire.fireshow.domain.Meetings;
- import cn.com.fire.util.dao.BaseDAO;
- import cn.com.fire.util.page.PageBean;
- public class MeetingService {
- private BaseDAO dao;
- public void setDao(BaseDAO dao) {
- this.dao = dao;
- }
- public MeetingService()
- {
- ApplicationContext ctx = ApplicationContextInit.getApplicationContext();
- dao = (BaseDAO)ctx.getBean("baseDAO");
- }
- public void insertMeeting(Meetings meeting)
- {
- dao.insertObject(meeting);
- }
- public void deleteMeetingByID(Serializable meetingID)
- {
- dao.deleteObjectByID(Meetings.class, meetingID);
- }
- public void deleteMeetingByIDs(Serializable[] meetingIDs)
- {
- dao.deleteObjectByIDs(Meetings.class, meetingIDs);
- }
- public void updateMeeting(Meetings meeting)
- {
- dao.updateObject(meeting);
- }
- public void updateMeetings(Meetings[] meetings)
- {
- dao.updateObject(meetings);
- }
- public Meetings queryMeetingByID(Serializable meetingID)
- {
- return (Meetings)dao.queryObjectByID(Meetings.class, meetingID);
- }
- public List queryMeetingPage(PageBean pageBean, String hql)
- {
- return dao.queryObjectPage(pageBean, hql);
- }
- public Meetings[] queryMeetingByHQL(String hql)
- {
- List list = dao.queryObjectByHQL(hql);
- Meetings[] meetings = new Meetings[list.size()];
- for (int i = 0; i < list.size(); i++) {
- Meetings meeting = (Meetings)list.get(i);
- meetings[i] = meeting;
- }
- return meetings;
- }
- public static void main(String[] args)
- {
- MeetingService ms = new MeetingService();
- Meetings meeting = new Meetings();
- meeting.setMaxClient(new Integer(10));
- meeting.setMeetingEndDate(new Date());
- meeting.setMeetingMotif("中国人");
- meeting.setMeetingName("视频会议");
- meeting.setMeetingOrganiger("大陆的中国人");
- meeting.setMeetingPassword("password");
- meeting.setMeetingStartDate(new Date());
- //ms.insertMeeting(meeting);
- //List list = ms.queryMeetingByHQL("from Meetings meetings");
- //System.out.println(list.size());
- }
- }
编辑项目的WEB-INF/flex/目录下的remoting-config.xml,添加对java类的引用:
- <destination id="meetingService">
- <properties>
- <source>cn.com.fire.fireshow.service.MeetingServicesource>
- properties>
- destination>
编写前台mxml文件
- xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
- <mx:Script>
- import mx.controls.Alert;
- import mx.utils.ArrayUtil;
- private function initApp():void
- {
- queryMeetings.queryMeetingByHQL("from Meetings meetings");
- }
- private function formatDate(item:Object,column:DataGridColumn):String
- {
- return df.format(item.meetingEndDate);
- }// df 是一个 DateFormatter,在下面会给出。关于如何格式化DataGrid的显示
- private function formatDate2(item:Object,column:DataGridColumn):String
- {
- return df.format(item.meetingStartDate);
- }
- private function proccessResult(result:Object):void
- {
- meetingDG.dataProvider = ArrayUtil.toArray(result);
- }
- ]]>
- mx:Script>
- <mx:DateFormatter id="df" formatString="YYYY年MM月DD日"/>
- <mx:RemoteObject id="queryMeetings" destination="meetingService" showBusyCursor="true" result="proccessResult(event.result)" fault="Alert.show(event.fault.faultString,'Error')">
- mx:RemoteObject>
- <mx:TitleWindow width="981" height="329" layout="absolute" title="会议管理列表" horizontalCenter="-48" verticalCenter="-92.5">
- <mx:Grid width="802" horizontalCenter="-22" y="83">
- <mx:GridRow width="100%" height="100%">
- <mx:GridItem width="100%" height="100%">
- <mx:DataGrid id="meetingDG" editable="true" enabled="true">
- <mx:columns>
- <mx:DataGridColumn headerText="会议编号" dataField="meetingId"/>
- <mx:DataGridColumn headerText="会议名称" dataField="meetingName"/>
- <mx:DataGridColumn headerText="会议密码" dataField="meetingPassword"/>
- <mx:DataGridColumn headerText="最大参与人数" dataField="maxClient"/>
- <mx:DataGridColumn headerText="会议发起人" dataField="meetingOrganiger"/>
- <mx:DataGridColumn headerText="会议主题" dataField="meetingMotif"/>
- <mx:DataGridColumn headerText="会议开始时间" dataField="meetingStartDate" labelFunction="formatDate2"/>
- <mx:DataGridColumn headerText="会议结束时间" dataField="meetingEndDate" labelFunction="formatDate"/>
- mx:columns>
- mx:DataGrid>
- mx:GridItem>
- mx:GridRow>
- <mx:GridRow width="100%" height="100%">
- <mx:GridItem width="100%" height="100%">
- <mx:Button label="保存会议"/>
- <mx:Button label="删除会议"/>
- mx:GridItem>
- mx:GridRow>
- mx:Grid>
- mx:TitleWindow>
- mx:Application>
发表评论
- 浏览: 30409 次
- 性别:

- 来自: 在深圳的陕西仔

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
FLEX和spring、hibernate ...
好东西,学习了,最近在研究这些
-- by 弃天笑 -
Flex使用RemotingObject和 ...
代码能不能发全点啊 就这一点点
-- by lingwen20 -
flex的在线图片处理程序发 ...
能不能把代码共享一下? 急盼,谢谢了 lingwen21@163.com
-- by lingwen20 -
FLEX和spring、hibernate ...
帅哥,能给个flex + hibernate + spring的例子下载不? 先 ...
-- by AllenWalker -
flex的在线图片处理程序发 ...
喜欢 snetcc@163.com
-- by qinjianto08






评论排行榜