`

flex远程对象调用,flex和spring的集成,分页

阅读更多
这里讲解四个例子
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>

分享到:
评论
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
2 楼 fruitking 2010-06-04  
第三个分页

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源代码如下
<?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>

相关推荐

    上一篇的flex的远程对象调用,flex和spring集成分页的jar和截图

    标题中的“flex的远程对象调用”指的是在Adobe Flex应用程序中使用Remote Object(RO)服务进行远程通信的技术。Flex是一个开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA)。通过RO服务,Flex应用...

    Flex +BlazeDS+java后台分页的实现

    Flex + BlazeDS + Java 后台分页的实现是一个关键的技术环节,特别是在开发大型Web应用程序时,为了提高用户体验和系统性能,数据通常需要通过分页的方式进行加载。本方案主要探讨了如何在Flex前端和BlazeDS中间件与...

    Flex+spring+mybatis架构搭建

    在Spring+Mybatis集成中,Mybatis作为数据访问层,负责与数据库交互,而Spring则通过依赖注入来管理Mybatis的SqlSessionFactory和Mapper对象。 在Myeclipse10中搭建Flex+Spring+Mybatis架构的步骤大致如下: 1. **...

    Oracle + jdbcTemplate + Spring + Java + Flex 实现分页.docx

    在Oracle数据库环境中,结合Spring、Java和Flex进行分页查询是常见的需求。本文档主要讨论如何利用Oracle存储过程、jdbcTemplate(Spring框架的一个组件)以及Flex前端实现这一功能。 首先,Oracle存储过程是实现...

    flex和hibernate的整合

    9. **测试**:整合后,需要进行集成测试和性能测试,确保Flex界面与后端服务的交互正常,且系统性能满足预期。 10. **部署与维护**:最后,部署时要考虑服务器配置,如BlazeDS/LCDS的设置,以及如何更新和维护...

    Oracle + jdbcTemplate + Spring + Java + Flex 实现分页

    ### Oracle + jdbcTemplate + Spring + Java + Flex 实现分页 #### 一、Oracle存储过程分页 在Oracle数据库中,为了实现高效的分页查询,通常会采用存储过程的方式来完成。这种方式能够有效地减少网络传输的数据量...

    flex_spring示例代码

    通过分析这个示例代码,开发者可以学习到如何在Spring后端和Flex前端之间建立有效的通信,以及如何设计和实现一个完整的Flex-Spring应用。这对于那些希望构建跨平台、交互性强的Web应用程序的开发者来说,是一份宝贵...

    使用BlazeDS实现flex与java 整合

    BlazeDS是Adobe公司推出的一款开源的服务器端技术,它主要的作用是为Flex客户端与Java后端应用提供数据集成和实时通信。BlazeDS通过AMF(Action Message Format)协议,实现了高性能、低延迟的数据传输,使得Flex...

    Flex4+BlazeDS分页

    Flex4和BlazeDS是Adobe开发的技术,用于构建富互联网应用...总之,Flex4结合BlazeDS能有效地实现在RIA中的后台通信和分页功能。通过理解并实践这些知识点,开发者不仅可以处理大量数据,还能为用户提供流畅的交互体验。

    java flex jar包

    这可能包括调整服务器端的AMF配置、数据分页、异步调用和内存管理。 9. **版本兼容性**:随着技术的发展,Flex和Java的版本可能会更新,确保不同组件间的兼容性是必要的。例如,Flex客户端需要与支持的BlazeDS/LCDS...

    blazeDs解决flex客户端与Server的远程通讯

    在博文链接提到的"BlazeDataGrid"可能是基于BlazeDS实现的一个数据网格组件,它可能提供了丰富的数据展示和操作功能,如排序、分页、过滤等,帮助开发者更好地在Flex应用中展示和处理服务器返回的数据。 总之,...

    Flex-LCDS-Java.rar_LCDS_flex_flex java

    9. **性能优化**:探讨如何通过缓存策略、数据分页和批量处理来提高应用性能。 通过这个教程,你将掌握如何构建一个完整的Flex应用,它能够通过LCDS与Java后台服务无缝通信,为用户提供动态、交互的Web体验。这是...

    SSH+Flex项目

    SSH2是三个开源Java框架——Spring、Struts2和Hibernate的组合,它们分别是IoC(Inversion of Control)容器、MVC(Model-View-Controller)框架和对象关系映射(ORM)工具。Spring作为核心,负责管理依赖注入,提供...

    Flex通信-Java服务端通信实例

    在Flex代码中,定义`RemoteObject`时需要指定服务的URL和命名空间,然后就可以像调用本地方法一样调用远程服务了。 例如,在Java服务端,我们可能有一个名为`UserService`的接口,包含`getUserInfo`方法。在Flex...

    flex+java 类

    5. **Flex Builder与IntelliJ IDEA集成**:开发环境中,Flex Builder(现为Flash Builder)和IntelliJ IDEA等IDE提供了强大的工具集,支持Flex和Java的联合开发,包括代码提示、调试和部署。 6. **安全考虑**:当...

    flex java实例

    Flex Java实例是一个结合了Adobe Flex前端技术和Java后端技术的项目,主要目的是为了演示和学习如何在Web应用中实现基本的CRUD(创建、读取、更新和删除)操作。这个实例适合对Flex和Java有一定了解但正在寻找实战...

    ssh+flex 整合方式FABridge

    2. **Java服务端接口**:在SSH框架中,我们需要创建一个或多个服务接口,这些接口通常由Spring管理,供Flex客户端调用。 3. **Flex客户端调用**:在Flex UI中,使用FABridge调用Java服务端接口,实现数据交互。例如...

    java开发的一个flex实例 使用DAGAGRID

    为了实现Java和Flex之间的数据交互,我们需要使用Flex的远程对象(RemoteObject)技术。RemoteObject是Flex提供的一个组件,用于与后台服务(如Java的 BlazeDS 或 AMF 服务器)进行通信。它通过HTTP或HTTPS协议发送...

    java_flex交互

    Java和Flex之间的交互是开发富互联网应用程序(RIA)时常用的一种技术组合。Flex是一种用于构建交互式用户界面的开源框架,通常用于客户端,而Java则作为服务器端的强大后盾,处理复杂的业务逻辑和数据管理。在本...

Global site tag (gtag.js) - Google Analytics