- 浏览: 282856 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
北方狼:
请问,当表格列数过多时,除了调整pdf页面宽度,能否设置分页显 ...
利用itext操作pdf从数据库导出大量数据--功能汇总(一) -
15817048604:
.....................
利用itext操作pdf从数据库导出大量数据--添加水印(四) -
laoma102:
顶个,谢楼主
代理模式,JDK动态代理,SpringAOP来龙去脉 -
穷途末路:
给力,谢谢分享
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用 -
weir2009:
复杂的交叉表crosstab 怎么处理?
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
这里讲解四个例子
1,使用flex的远程调用方式(java的BlazeDS方式)一个查询table的
2,使用flex和spring的结合,采用远程对象做一个table的查询
3,使用flex和spring的结合,做一个分页查询的远程对象调用
4,使用flex和spring的结合,做一个分页查询的远程对象调用,对表头的方式
首先配置web.xml文件,一边web工程能够启动spring容器和flex的servlet
增加一个flex service中使用的对象能够使用spring容器中创建的对象
在flex配置文件services-config.xml中增加
这个类的源代码如下
spring容器的配置文件
这里再配置flex远程对象调用的配置文件
remoting-config.xml
第一个配置就是flex使用自己的配置实例化类
第二就是和spring结合,使用spring容器里创建的实例类对象
flex方式实例化的类
spring实例化的类
组装对象
分页对象
第一个flex调用的table的mxml代码
1,使用flex的远程调用方式(java的BlazeDS方式)一个查询table的
2,使用flex和spring的结合,采用远程对象做一个table的查询
3,使用flex和spring的结合,做一个分页查询的远程对象调用
4,使用flex和spring的结合,做一个分页查询的远程对象调用,对表头的方式
首先配置web.xml文件,一边web工程能够启动spring容器和flex的servlet
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Http Flex Session attribute and binding listener support --> <listener> <listener-class>flex.messaging.HttpFlexSession</listener-class> </listener> <!-- MessageBroker Servlet --> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> <init-param> <param-name>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <init-param> <param-name>flex.write.path</param-name> <param-value>/WEB-INF/flex</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>MessageBrokerServlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping>
增加一个flex service中使用的对象能够使用spring容器中创建的对象
在flex配置文件services-config.xml中增加
<factories> <factory id="spring" class="com.fruitking.report.flex.util.FlexSpringFactory" /> </factories>
这个类的源代码如下
package com.fruitking.report.flex.util; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import flex.messaging.FactoryInstance; import flex.messaging.FlexFactory; import flex.messaging.config.ConfigMap; import flex.messaging.services.ServiceException; public class FlexSpringFactory implements FlexFactory { private static final String SOURCE = "source"; public void initialize(String id, ConfigMap configMap) { } public FactoryInstance createFactoryInstance(String id, ConfigMap properties) { SpringFactoryInstance instance = new SpringFactoryInstance(this,id,properties); instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId())); return instance; } // end method createFactoryInstance() public Object lookup(FactoryInstance inst) { SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst; return factoryInstance.lookup(); } static class SpringFactoryInstance extends FactoryInstance { SpringFactoryInstance(FlexSpringFactory factory, String id,ConfigMap properties) { super(factory, id, properties); } public String toString() { return "SpringFactory instance for id=" + getId() + " source=" + getSource() + " scope=" + getScope(); } public Object lookup(){ ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext()); String beanName = getSource(); try{ return appContext.getBean(beanName); } catch (NoSuchBeanDefinitionException nexc){ ServiceException e = new ServiceException(); String msg = "Spring service named '" + beanName + "' does not exist."; e.setMessage(msg); e.setRootCause(nexc); e.setDetails(msg); e.setCode("Server.Processing"); throw e; } catch (BeansException bexc){ ServiceException e = new ServiceException(); String msg = "Unable to create Spring service named '" + beanName + "' "; e.setMessage(msg); e.setRootCause(bexc); e.setDetails(msg); e.setCode("Server.Processing"); throw e; } } } }
spring容器的配置文件
<bean id="springIOCProductService" class="com.fruitking.report.service.impl.SpringProductServiceImpl"> </bean>
这里再配置flex远程对象调用的配置文件
remoting-config.xml
第一个配置就是flex使用自己的配置实例化类
第二就是和spring结合,使用spring容器里创建的实例类对象
<destination id="flexProductService"> <properties> <source>com.fruitking.report.service.impl.FlexProductServiceImpl</source> </properties> </destination> <destination id="springProductService"> <properties> <factory>spring</factory> <source>springIOCProductService</source> <scope>session</scope> </properties> </destination>
flex方式实例化的类
public class FlexProductServiceImpl { public List<Product> getProductList(){ List<Product> productList = new ArrayList<Product>(); try{ Product product = null; for(int i=0;i<10;i++){ product = new Product(); product.setProductId(""+i); product.setProductName(ContentUtil.getProductName(i)); product.setProductArea(ContentUtil.getProductArea(i)); product.setTotalSaleNumber(ContentUtil.getProductTotalSale(i)); product.setTotalBackNumber(ContentUtil.getProductTotalBack(i)); BigDecimal totalBackNumber = BigDecimal.valueOf(product.getTotalBackNumber()); BigDecimal totalSaleNumber = BigDecimal.valueOf(product.getTotalSaleNumber()); BigDecimal percent = totalBackNumber.divide(totalSaleNumber,4,BigDecimal.ROUND_HALF_EVEN); percent = percent.divide(BigDecimal.valueOf(0.01d),2,BigDecimal.ROUND_HALF_EVEN); product.setTotalBackPercent(percent.toString()+"%"); productList.add(product); } }catch(Exception e){ e.printStackTrace(); } return productList; } }
spring实例化的类
public class SpringProductServiceImpl { private int pageSize = 10; private int pageTotal = 56; public List<Product> getProductList(){ List<Product> productList = new ArrayList<Product>(); Product product = null; for(int i=0;i<10;i++){ product = new Product(); product.setProductId(""+i); product.setProductName(ContentUtil.getProductName(i)); product.setProductArea(ContentUtil.getProductArea(i)); product.setTotalSaleNumber(ContentUtil.getProductTotalSale(i)); product.setTotalBackNumber(ContentUtil.getProductTotalBack(i)); BigDecimal totalBackNumber = BigDecimal.valueOf(product.getTotalBackNumber()); BigDecimal totalSaleNumber = BigDecimal.valueOf(product.getTotalSaleNumber()); BigDecimal percent = totalBackNumber.divide(totalSaleNumber,4,BigDecimal.ROUND_HALF_EVEN); percent = percent.divide(BigDecimal.valueOf(0.01d),2,BigDecimal.ROUND_HALF_EVEN); product.setTotalBackPercent(percent.toString()+"%"); productList.add(product); } return productList; } public FlexPageObject getProductPageList(int pageNumber){ if(pageNumber<=0){ pageNumber = 1; } if(pageNumber>pageTotal){ pageNumber = pageTotal; } int productCode = pageSize*(pageNumber-1); productCode++; FlexPageObject flexPageObject = new FlexPageObject(); List<Product> productList = new ArrayList<Product>(); Product product = null; for(int i=0;i<pageSize;i++){ product = new Product(); product.setProductId(""+productCode); product.setProductName(ContentUtil.getProductName(i)); product.setProductArea(ContentUtil.getProductArea(i)); product.setTotalSaleNumber(ContentUtil.getProductTotalSale(i)); product.setTotalBackNumber(ContentUtil.getProductTotalBack(i)); BigDecimal totalBackNumber = BigDecimal.valueOf(product.getTotalBackNumber()); BigDecimal totalSaleNumber = BigDecimal.valueOf(product.getTotalSaleNumber()); BigDecimal percent = totalBackNumber.divide(totalSaleNumber,4,BigDecimal.ROUND_HALF_EVEN); percent = percent.divide(BigDecimal.valueOf(0.01d),2,BigDecimal.ROUND_HALF_EVEN); product.setTotalBackPercent(percent.toString()+"%"); productList.add(product); productCode++; } flexPageObject.setObjectList(productList); flexPageObject.setPageNumber(pageNumber); flexPageObject.setPageSize(pageSize); flexPageObject.setPageTotal(pageTotal); return flexPageObject; } public FlexPageObject getMutilProductPageList(int pageNumber){ if(pageNumber<=0){ pageNumber = 1; } if(pageNumber>pageTotal){ pageNumber = pageTotal; } int productCode = pageSize*(pageNumber-1); productCode++; FlexPageObject flexPageObject = new FlexPageObject(); List<Product> productList = new ArrayList<Product>(); Product product = null; for(int i=0;i<pageSize;i++){ product = new Product(); product.setProductId(""+productCode); product.setProductName(ContentUtil.getProductName(i)); product.setProductArea(ContentUtil.getProductArea(i)); product.setTotalSaleNumber(ContentUtil.getProductTotalSale(i)); product.setTotalBackNumber(ContentUtil.getProductTotalBack(i)); BigDecimal backNumber = BigDecimal.valueOf(product.getTotalBackNumber()); BigDecimal saleNumber = BigDecimal.valueOf(product.getTotalSaleNumber()); BigDecimal percent = backNumber.divide(saleNumber,4,BigDecimal.ROUND_HALF_EVEN); percent = percent.divide(BigDecimal.valueOf(0.01d),2,BigDecimal.ROUND_HALF_EVEN); product.setTotalBackPercent(percent.toString()+"%"); product.setWeekSaleNumber(ContentUtil.getProductWeekSale(i)); product.setWeekBackNumber(ContentUtil.getProductWeekBack(i)); backNumber = BigDecimal.valueOf(product.getWeekBackNumber()); saleNumber = BigDecimal.valueOf(product.getWeekSaleNumber()); percent = backNumber.divide(saleNumber,4,BigDecimal.ROUND_HALF_EVEN); percent = percent.divide(BigDecimal.valueOf(0.01d),2,BigDecimal.ROUND_HALF_EVEN); product.setWeekBackPercent(percent.toString()+"%"); product.setYesterdaySaleNumber(ContentUtil.getProductYesterdaySale(i)); product.setYesterdayBackNumber(ContentUtil.getProductYesterdayBack(i)); productList.add(product); productCode++; } flexPageObject.setObjectList(productList); flexPageObject.setPageNumber(pageNumber); flexPageObject.setPageSize(pageSize); flexPageObject.setPageTotal(pageTotal); return flexPageObject; } }
组装对象
public class Product { private String productId;//产品编号 private String productName;//产品名称 private String productArea;//产品出差地 private String countWeek;//统计周数 private int totalSaleNumber;//累计总销售数 private int totalBackNumber;//累计总退回数 private String totalBackPercent;//总返回率 private int weekSaleNumber;//本周销售数 private int weekBackNumber;//本周退回数 private String weekBackPercent;//本周返回率 private int yesterdaySaleNumber;//昨日销售数 private int yesterdayBackNumber;//昨日退回数 }
分页对象
public class FlexPageObject { private int pageNumber;//当前页 private int pageSize;//页大小 private int pageTotal;//总页数 private List<?> objectList;//分页对象集合 }
第一个flex调用的table的mxml代码
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; [Bindable] public var productWeekDataSource:ArrayCollection = new ArrayCollection( [{label:"2010年5月31日-6月6日", data:1}, {label:"2010年6月7日-6月13日", data:2}, {label:"2010年6月14日-6月20日", data:3}]); [Bindable] public var productAreaDataSource:ArrayCollection = new ArrayCollection( [{label:"成都", data:1}, {label:"杭州", data:2}, {label:"武汉", data:3}, {label:"上海", data:4}, {label:"广州", data:5}, {label:"北京", data:6}, {label:"青岛", data:7}, {label:"南京", data:8}, {label:"苏州", data:9}]); [Bindable] public var productSaleDataSource:ArrayCollection = new ArrayCollection( [{label:"销售数", data:1}, {label:"回退数", data:2}]); private var rerultProductList:ArrayCollection; public function handleQueryData(event:ResultEvent):void{ rerultProductList = ArrayCollection(event.result); productList.dataProvider = rerultProductList; } public function clearQueryData():void{ productList.dataProvider = null; } ]]> </mx:Script> <mx:RemoteObject id="productDataSource" destination="flexProductService" result="handleQueryData(event)"> </mx:RemoteObject> <mx:Panel x="10" y="10" width="969" height="508" layout="absolute" borderColor="#EFCBCB" fontSize="12"> <mx:ComboBox x="48" y="10" width="193" id="marketweek" dataProvider="{productWeekDataSource}"></mx:ComboBox> <mx:ComboBox x="282" y="10" width="128" id="marketarea" dataProvider="{productAreaDataSource}"></mx:ComboBox> <mx:ComboBox x="446" y="10" width="131" id="marketproduct" dataProvider="{productSaleDataSource}"></mx:ComboBox> <mx:Button x="624" y="11" label="查询" fontSize="12" click="productDataSource.getProductList()"/> <mx:DataGrid x="19" y="59" width="920" height="334" id="productList"> <mx:columns> <mx:DataGridColumn headerText="产品编码" dataField="productId"/> <mx:DataGridColumn headerText="产品名称" dataField="productName"/> <mx:DataGridColumn headerText="产品产地" dataField="productArea"/> <mx:DataGridColumn headerText="销售数" dataField="totalSaleNumber"/> <mx:DataGridColumn headerText="退回数" dataField="totalBackNumber"/> <mx:DataGridColumn headerText="退回率" dataField="totalBackPercent"/> </mx:columns> </mx:DataGrid> <mx:Button x="712" y="11" label="清除" click="clearQueryData()"/> </mx:Panel> </mx:Application>
- flexreport.rar (4.2 MB)
- 下载次数: 259
评论
3 楼
fruitking
2010-06-04
后面还有一个页面
我就不写了
可以在附件里面下载所有源代码
这个是便后的例子 可以直接运行的
不过没有上传jar 因为太大了
需要的jar如下
backport-util-concurrent.jar
cfgatewayadapter.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
concurrent.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
spring.jar
xalan.jar
我就不写了
可以在附件里面下载所有源代码
这个是便后的例子 可以直接运行的
不过没有上传jar 因为太大了
需要的jar如下
backport-util-concurrent.jar
cfgatewayadapter.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
concurrent.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
spring.jar
xalan.jar
2 楼
fruitking
2010-06-04
第三个分页
mxml源代码如下
mxml源代码如下
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] public var productWeekDataSource:ArrayCollection = new ArrayCollection( [{label:"2010年5月31日-6月6日", data:1}, {label:"2010年6月7日-6月13日", data:2}, {label:"2010年6月14日-6月20日", data:3}]); [Bindable] public var productAreaDataSource:ArrayCollection = new ArrayCollection( [{label:"成都", data:1}, {label:"杭州", data:2}, {label:"武汉", data:3}, {label:"上海", data:4}, {label:"广州", data:5}, {label:"北京", data:6}, {label:"青岛", data:7}, {label:"南京", data:8}, {label:"苏州", data:9}]); [Bindable] public var productSaleDataSource:ArrayCollection = new ArrayCollection( [{label:"销售数", data:1}, {label:"回退数", data:2}]); private var rerultPageObject:Object; public function clearQueryData():void{ productList.dataProvider = null; } public function handleQueryPageData(event:ResultEvent):void{ rerultPageObject = event.result; if(rerultPageObject!=null){ productList.dataProvider = ArrayCollection(rerultPageObject.objectList); pageNumber.text = String(rerultPageObject.pageNumber); pageTotal.text = String(rerultPageObject.pageTotal); //Alert.show("当前页号是"+rerultPageObject.pageNumber+"总页数是"+rerultPageObject.pageTotal,"提示符"); } } private var currentPage:int = 1; public function queryPageData(type:String):void{ if(type=="first"){ productDataSource.getProductPageList(1); }else if(type=="previous"){ currentPage = Number(pageNumber.text)-1; //Alert.show("当前页号是"+currentPage,"提示符"); productDataSource.getProductPageList(currentPage); }else if(type=="next"){ currentPage = Number(pageNumber.text)+1; //Alert.show("当前页号是"+currentPage,"提示符"); productDataSource.getProductPageList(currentPage); }else if(type=="last"){ productDataSource.getProductPageList(pageTotal.text); } } ]]> </mx:Script> <mx:RemoteObject id="productDataSource" destination="springProductService" result="handleQueryPageData(event)"> </mx:RemoteObject> <mx:Panel x="10" y="10" width="897" height="491" layout="absolute" borderColor="#EFCBCB" fontSize="12"> <mx:ComboBox x="46" y="10" width="193" id="marketweek" dataProvider="{productWeekDataSource}"></mx:ComboBox> <mx:ComboBox x="274" y="10" width="128" id="marketarea" dataProvider="{productAreaDataSource}"></mx:ComboBox> <mx:ComboBox x="445" y="10" width="131" id="marketproduct" dataProvider="{productSaleDataSource}"></mx:ComboBox> <mx:Button x="650" y="11" label="查询" fontSize="12" click="queryPageData('first')"/> <mx:DataGrid x="19" y="59" width="802" height="334" id="productList"> <mx:columns> <mx:DataGridColumn headerText="产品编码" dataField="productId"/> <mx:DataGridColumn headerText="产品名称" dataField="productName"/> <mx:DataGridColumn headerText="产品产地" dataField="productArea"/> <mx:DataGridColumn headerText="销售数" dataField="totalSaleNumber"/> <mx:DataGridColumn headerText="退回数" dataField="totalBackNumber"/> <mx:DataGridColumn headerText="退回率" dataField="totalBackPercent"/> </mx:columns> </mx:DataGrid> <mx:Button x="726" y="11" label="清除" click="clearQueryData()"/> <mx:HBox x="253" y="401" width="449"> <mx:Label text="第" width="15"/> <mx:Text text="1" width="30" id="pageNumber"/> <mx:Label text="/" width="10"/> <mx:Text text="56" width="30" id="pageTotal"/> <mx:Label text="页" width="15"/> <mx:LinkButton label="首页" click="queryPageData('first')"/> <mx:LinkButton label="上一页" click="queryPageData('previous')"/> <mx:LinkButton label="下一页" click="queryPageData('next')"/> <mx:LinkButton label="尾页" click="queryPageData('last')"/> </mx:HBox> </mx:Panel> </mx:Application>
1 楼
fruitking
2010-06-04
第二个也是用spring方式实例化的
flex的mxml源代码如下
flex的mxml源代码如下
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; [Bindable] public var productWeekDataSource:ArrayCollection = new ArrayCollection( [{label:"2010年5月31日-6月6日", data:1}, {label:"2010年6月7日-6月13日", data:2}, {label:"2010年6月14日-6月20日", data:3}]); [Bindable] public var productAreaDataSource:ArrayCollection = new ArrayCollection( [{label:"成都", data:1}, {label:"杭州", data:2}, {label:"武汉", data:3}, {label:"上海", data:4}, {label:"广州", data:5}, {label:"北京", data:6}, {label:"青岛", data:7}, {label:"南京", data:8}, {label:"苏州", data:9}]); [Bindable] public var productSaleDataSource:ArrayCollection = new ArrayCollection( [{label:"销售数", data:1}, {label:"回退数", data:2}]); private var rerultProductList:ArrayCollection; public function handleQueryData(event:ResultEvent):void{ rerultProductList = ArrayCollection(event.result); productList.dataProvider = rerultProductList; } public function clearQueryData():void{ productList.dataProvider = null; } ]]> </mx:Script> <mx:RemoteObject id="productDataSource" destination="springProductService" result="handleQueryData(event)"> </mx:RemoteObject> <mx:Panel x="10" y="10" width="969" height="508" layout="absolute" borderColor="#EFCBCB" fontSize="12"> <mx:ComboBox x="48" y="10" width="193" id="marketweek" dataProvider="{productWeekDataSource}"></mx:ComboBox> <mx:ComboBox x="282" y="10" width="128" id="marketarea" dataProvider="{productAreaDataSource}"></mx:ComboBox> <mx:ComboBox x="446" y="10" width="131" id="marketproduct" dataProvider="{productSaleDataSource}"></mx:ComboBox> <mx:Button x="624" y="11" label="查询" fontSize="12" click="productDataSource.getProductList()"/> <mx:DataGrid x="19" y="59" width="920" height="334" id="productList"> <mx:columns> <mx:DataGridColumn headerText="产品编码" dataField="productId"/> <mx:DataGridColumn headerText="产品名称" dataField="productName"/> <mx:DataGridColumn headerText="产品产地" dataField="productArea"/> <mx:DataGridColumn headerText="销售数" dataField="totalSaleNumber"/> <mx:DataGridColumn headerText="退回数" dataField="totalBackNumber"/> <mx:DataGridColumn headerText="退回率" dataField="totalBackPercent"/> </mx:columns> </mx:DataGrid> <mx:Button x="712" y="11" label="清除" click="clearQueryData()"/> </mx:Panel> </mx:Application>
发表评论
-
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
2013-10-21 00:25 15731【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--添加水印(四)
2013-10-21 00:16 4224【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--创建PDF表格(三)
2013-10-21 00:14 10169【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--创建PDF相关(二)
2013-10-21 00:12 4644【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--汇总(一)
2013-10-21 00:06 0【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
kettle应用程序集成代码
2013-06-19 21:32 1802package com.zjhcsoft.kettle.t ... -
转载:hibernate原理及应用知识点
2011-10-22 12:45 2033SSH面试题总结 ... -
上传一个ssh整个的工程,方便搭建基于spring的web应用
2010-12-07 20:36 1065web有struts2,spring hibernate组件 ... -
PIO的EXCEL的写入和导出
2010-11-25 14:16 2218PIO的EXCEL的字体样式,边框样式,背景色样式,下拉选择, ... -
上一篇的flex的远程对象调用,flex和spring集成分页的jar和截图
2010-06-04 22:18 1476需要的jar如附件 返回结果不需要设定特别的java对象和ac ... -
j2ee概念规范结构学习
2010-01-11 11:19 1228J2EE规范:就是把把一系 ... -
Jboss下开发ejb应用之一消息驱动bean的应用
2010-01-06 17:28 1916Jboss下开发ejb应用之一消息驱动bean的应用,这是一篇 ... -
Jboss下开发ejb应用之一实体bean的应用
2010-01-05 16:26 1359Jboss下开发ejb应用之一 ... -
Jboss下开发ejb应用之一会话bean的应用
2010-01-05 11:57 1413Jboss下开发ejb应用之一 ... -
根据dhlayer整理的输入提示下拉列表信息
2009-09-24 11:26 1248根据dhlayer整理的输入提示下拉列表信息 这里用的是网络下 ... -
log4j的项目引用
2008-08-06 08:51 1183最近写了一个利用log4j记录方法调用信息(方法名 时间 ... -
freemarker 中的is undefined错误
2008-08-05 16:36 2124freemarker 中的is undefined错误一般都是 ... -
jasperreport报表的使用
2008-06-10 14:24 14121. 下载ireport和jasperreport。不知道就b ... -
使用dwr错误总结
2008-05-26 19:19 16871.是否在spring容器中创建了bean 2.是否在dwr. ... -
开源组件的使用总结之二
2008-05-18 13:10 1151web service 不同项目 不同系统 不同物理位置的 ...
相关推荐
标题中的“flex的远程对象调用”指的是在Adobe Flex应用程序中使用Remote Object(RO)服务进行远程通信的技术。Flex是一个开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA)。通过RO服务,Flex应用...
Flex + BlazeDS + Java 后台分页的实现是一个关键的技术环节,特别是在开发大型Web应用程序时,为了提高用户体验和系统性能,数据通常需要通过分页的方式进行加载。本方案主要探讨了如何在Flex前端和BlazeDS中间件与...
在Spring+Mybatis集成中,Mybatis作为数据访问层,负责与数据库交互,而Spring则通过依赖注入来管理Mybatis的SqlSessionFactory和Mapper对象。 在Myeclipse10中搭建Flex+Spring+Mybatis架构的步骤大致如下: 1. **...
在Oracle数据库环境中,结合Spring、Java和Flex进行分页查询是常见的需求。本文档主要讨论如何利用Oracle存储过程、jdbcTemplate(Spring框架的一个组件)以及Flex前端实现这一功能。 首先,Oracle存储过程是实现...
9. **测试**:整合后,需要进行集成测试和性能测试,确保Flex界面与后端服务的交互正常,且系统性能满足预期。 10. **部署与维护**:最后,部署时要考虑服务器配置,如BlazeDS/LCDS的设置,以及如何更新和维护...
### Oracle + jdbcTemplate + Spring + Java + Flex 实现分页 #### 一、Oracle存储过程分页 在Oracle数据库中,为了实现高效的分页查询,通常会采用存储过程的方式来完成。这种方式能够有效地减少网络传输的数据量...
通过分析这个示例代码,开发者可以学习到如何在Spring后端和Flex前端之间建立有效的通信,以及如何设计和实现一个完整的Flex-Spring应用。这对于那些希望构建跨平台、交互性强的Web应用程序的开发者来说,是一份宝贵...
BlazeDS是Adobe公司推出的一款开源的服务器端技术,它主要的作用是为Flex客户端与Java后端应用提供数据集成和实时通信。BlazeDS通过AMF(Action Message Format)协议,实现了高性能、低延迟的数据传输,使得Flex...
Flex4和BlazeDS是Adobe开发的技术,用于构建富互联网应用...总之,Flex4结合BlazeDS能有效地实现在RIA中的后台通信和分页功能。通过理解并实践这些知识点,开发者不仅可以处理大量数据,还能为用户提供流畅的交互体验。
这可能包括调整服务器端的AMF配置、数据分页、异步调用和内存管理。 9. **版本兼容性**:随着技术的发展,Flex和Java的版本可能会更新,确保不同组件间的兼容性是必要的。例如,Flex客户端需要与支持的BlazeDS/LCDS...
在博文链接提到的"BlazeDataGrid"可能是基于BlazeDS实现的一个数据网格组件,它可能提供了丰富的数据展示和操作功能,如排序、分页、过滤等,帮助开发者更好地在Flex应用中展示和处理服务器返回的数据。 总之,...
9. **性能优化**:探讨如何通过缓存策略、数据分页和批量处理来提高应用性能。 通过这个教程,你将掌握如何构建一个完整的Flex应用,它能够通过LCDS与Java后台服务无缝通信,为用户提供动态、交互的Web体验。这是...
SSH2是三个开源Java框架——Spring、Struts2和Hibernate的组合,它们分别是IoC(Inversion of Control)容器、MVC(Model-View-Controller)框架和对象关系映射(ORM)工具。Spring作为核心,负责管理依赖注入,提供...
在Flex代码中,定义`RemoteObject`时需要指定服务的URL和命名空间,然后就可以像调用本地方法一样调用远程服务了。 例如,在Java服务端,我们可能有一个名为`UserService`的接口,包含`getUserInfo`方法。在Flex...
5. **Flex Builder与IntelliJ IDEA集成**:开发环境中,Flex Builder(现为Flash Builder)和IntelliJ IDEA等IDE提供了强大的工具集,支持Flex和Java的联合开发,包括代码提示、调试和部署。 6. **安全考虑**:当...
Flex Java实例是一个结合了Adobe Flex前端技术和Java后端技术的项目,主要目的是为了演示和学习如何在Web应用中实现基本的CRUD(创建、读取、更新和删除)操作。这个实例适合对Flex和Java有一定了解但正在寻找实战...
2. **Java服务端接口**:在SSH框架中,我们需要创建一个或多个服务接口,这些接口通常由Spring管理,供Flex客户端调用。 3. **Flex客户端调用**:在Flex UI中,使用FABridge调用Java服务端接口,实现数据交互。例如...
为了实现Java和Flex之间的数据交互,我们需要使用Flex的远程对象(RemoteObject)技术。RemoteObject是Flex提供的一个组件,用于与后台服务(如Java的 BlazeDS 或 AMF 服务器)进行通信。它通过HTTP或HTTPS协议发送...
Java和Flex之间的交互是开发富互联网应用程序(RIA)时常用的一种技术组合。Flex是一种用于构建交互式用户界面的开源框架,通常用于客户端,而Java则作为服务器端的强大后盾,处理复杂的业务逻辑和数据管理。在本...