(自己学习,做的小例子,记录一下)
使用flex.data.DataServiceTransaction类来实现server push,当server端的数据发生变化时,将改变自动推向client端。
有两种不同的方法:
1. 使用DataServiceTransaction实例,DataServiceTransaction实例是为每个汇编操作创建的,汇编操作是修改了数据管理服务来管理对象的状态。
2. 通过自己的代码来创建 DataServiceTransaction实例。
第一种方法:(使用汇编操作被调用时创建的 DataServiceTransaction实例),调用它的static
getCurrentDataServiceTransaction() 方法,接着调用它的updateitem(),deleteitem()或createitem()方法来触发额外的改变,调用这些方法来apply在这个事务中你已经维持或即将维持的修改,如果当前事务回滚,这些改变将不会push到客户端。
第二种方法:(不需要一个DataServiceTransaction实例),你可以调用static DataServiceTransaction.begin()方法来初始化一个事务.
具体步骤:需要编写自己的DAO和连接数据库的类,DAO包括一些操作数据库的方法,其中创建对象的方法要将所创建对象的主键id返回,并设置到当前内存中的该对象。
创建对象并push到客户端的例子:
BaseDAO.java publicint createItem(String sql, Object[] params) throws DAOException { Connection c = null; try { c = ConnectionHelper.getConnection(); executeUpdate(sql, params, c); Statement s = c.createStatement(); ResultSet rs = s.executeQuery("SELECT LAST_INSERT_ID()"); int keyValue = -1; if (rs.next()) { keyValue = rs.getInt(1); } return keyValue; } catch (SQLException e) { e.printStackTrace(); thrownew DAOException(e); } finally { ConnectionHelper.close(c); } } ProductDAO.java继承BaseDAO publicvoid create(Product product) throws Exception{ int accountId = createItem("INSERT INTO product(description, price, productname) VALUES (?,?,?)", new Object[] { product.getDescription(),product.getPrice(),produc t.getProductname() }); product.setProductid(accountId); } 前台调用的servlet DataServiceTransaction dst=DataServiceTransaction.begin(false); Product prod = new Product(); prod.setProductname("Product1"); prod.setDescription("A great product"); prod.setPrice(10f); ProductDAO pa=new ProductDAO(); try { pa.create(prod); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //Inform the Data Management Service: dst.createItem("NewModel.Product", prod);//("NewModel.Product"是client端service对应的destination) dst.commit(); 配置好servlet,前台发送httpservice请求。执行效果就是数据库数据更新后,前台绑定的data也会自动更新。
发表评论
-
C#字符串处理,随机插入
2012-07-06 09:51 783string字符串是char的集合,而char是Unico ... -
常用正则表达式
2012-07-06 09:44 468src=\"(/uploadfiles/pic/ ... -
常用正则表达式
2012-07-06 09:37 530常用的js正则表达式验证2008年12月04日 星期四 下 ... -
3dmax导出插件-tiamo
2012-07-06 09:29 695新年第一贴,说说3d ... -
随滚动条移动的上下左右中层
2012-07-05 20:44 721随滚动条移动的层 - 5iuu.com .d ... -
第五课应用程序的组件
2012-07-03 13:42 565应用程序的组件 ... -
第五课应用程序的组件
2012-07-03 12:18 544应用程序的组件 ... -
[nginx] LEMP构建高性能WEB服务器(第二版) 还没有试验,今天准备
2012-07-02 10:14 716前言: 本文 ... -
Using Valgrind to Find Memory Leaks
2012-07-02 10:14 644document.write ("&q ... -
Oledbadapter使用感受
2012-07-02 10:14 610Style Definitions */ p.Ms ... -
Build Instructions for the QtWebKit build on Windows
2012-07-02 10:14 1282Build Instructions for the Q ... -
Android Դ
2012-07-02 09:42 550... -
Flex PieChart使用XML数据源以及如何将String XML转换成XML对象
2012-07-01 09:35 765以下实例是通过一个字符串的XML,先将其转换成Flex的X ... -
flex LineChart 的demo
2012-07-01 09:35 576... -
[转载]每天学一点Flex(1):DataGrid组件分页
2012-07-01 09:35 498原文地址: http://blog.csdn.net/he ... -
由于应用程序配置不正确,程序未能启动”--原因及解决方法
2012-06-30 17:52 863由于应用程序配置不正确,程序未能启动"--原因及 ... -
SQL server用户Sa登录失败的解决方法
2012-06-30 17:52 995最近在学习C# ... -
ubuntu下adb调试android找不到设备的解决方法
2012-06-30 17:52 674最近在写一个播放rtsp的测试程式,这个需要真机上测试,结 ... -
无法向会话状态服务器发出会话状态请求 错误的解决方法
2012-06-30 17:52 601今天把服务器上的 ...
相关推荐
Flex + LCDS + Java 入门教程Flex + LCDS + Java 入门教程Flex + LCDS + Java 入门教程
Flex + LCDS + Java Flex + LCDS + Java
转:Flex+++LCDS+++Java+入门教程
Flex + LCDS + Java 入门教程 很多人在帖子和群中问到过一些关于建立Flex+LCDS(FDS)工程的问题,由于操作上的东西,很难简单说清楚,于是写了一个简单的教程(本来很早就答应过的,结果被newfish逮住做东西,加上...
Flex + LCDS + Java 入门与配置
Flex+LCDS+Java入门教程,如何使用MyEclips进行配置
flex+java+lcds做的简单demo
Flex_AS3\Flex + LCDS + Java 入门教程
Flex+J2EE+Lcds在myEclipse中的配置
Flex + LCDS + J2EE 传值交互实例 包括从Flex 传到 J2EE : String,Object,Array 从J2EE传到flex : String , Object , List