`
robinsoncrusoe
  • 浏览: 747106 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

BlazeDS体系结构(四)

    博客分类:
  • JAVA
阅读更多
Java对象转换为AS对象









// Product.as

package samples.externalizable {



import flash.utils.IExternalizable;

import flash.utils.IDataInput;

import flash.utils.IDataOutput;

[RemoteClass(alias="samples.externalizable.Product")]

public class Product implements IExternalizable {



public function Product(name:String=null) {

this.name = name;

}



public var id:int;

public var name:String;

public var properties:Object;

public var price:Number;



public function readExternal(input:IDataInput):void {

name = input.readObject() as String;

properties = input.readObject();

price = input.readFloat();

}



public function writeExternal(output:IDataOutput):void {

output.writeObject(name);

output.writeObject(properties);

output.writeFloat(price);

}

}

}





// Product.java

package samples.externalizable;

import java.io.Externalizable;

import java.io.IOException;

import java.io.ObjectInput;

import java.io.ObjectOutput;

import java.util.Map;



public class Product implements Externalizable {



private String inventoryId;

public String name;

public Map properties;

public float price;



public Product(){

}



public String getInventoryId() {

return inventoryId;

}



public void setInventoryId(String inventoryId) {

if (inventoryId != null && inventoryId.startsWith("X")){

this.inventoryId = inventoryId;

}else{

throw new IllegalArgumentException("3rd party product

inventory identities must start with 'X'");

}

}



public void readExternal(ObjectInput in) throws IOException,

ClassNotFoundException {

name = (String)in.readObject();

properties = (Map)in.readObject();

price = in.readFloat();

setInventoryId(lookupInventoryId(name, price));

}



public void writeExternal(ObjectOutput out) throws IOException {

// Write out the client properties from the server representation

out.writeObject(name);

out.writeObject(properties);

out.writeFloat(price);

}



private static String lookupInventoryId(String name, float price) {

String inventoryId = "X" + name + Math.rint(price);

return inventoryId;

}

}

分享到:
评论

相关推荐

    BlazeDS 数据通信技术

    #### 一、Blazeds体系结构 BlazeDS是一种用于实现Flex客户端与Java服务器端之间高效通信的技术。它允许开发者在客户端与服务器端之间轻松地发送远程调用和数据更新通知。为了更好地理解BlazeDS的工作原理,我们需要...

    blazeds开发文档

    在Blazeds体系中,几个关键组件构成了核心,它们包括通道(Channels)、端点(Endpoints)、消息(Messages)、服务(Services)、目的地(Destinations)和适配器(Adapters)。理解这些组件的工作方式对于深入学习...

    深入浅出Flex,经典教程

    “Blazeds体系结构.doc”会深入剖析BlazeDS的架构设计,包括其组件、工作原理以及与其他Adobe技术的配合。这有助于读者理解BlazeDS如何在服务器端和客户端之间建立通道,实现数据推送和服务调用。 “新建 Microsoft...

    Flex企业应用开发实战源代码

    5.2 BlazeDS体系结构 141 5.2.1 BlazeDS的组件 143 5.2.2 构建一个简单的BlazeDS应用 148 5.2.3 消息的传输过程 150 5.2.4 BlazeDS的序列化机制 156 5.2.5 FlexClient和FlexSession 161 5.3 BlazeDS的配置 162...

    Flex体系架构剖析

    MXML是一种标记语言,用于描述Flex应用程序的界面布局和组件结构。它类似于HTML,但更专注于组件的定义和属性设置。ActionScript则是一种面向对象的脚本语言,用于编写应用程序的业务逻辑和控制流程。在Flex中,MXML...

    Flex+BlazeDB+mysql实现数据交互

    在这个体系结构中,Flex作为客户端,使用BlazeDS作为中间层,处理与服务器之间的数据交换,而MySQL作为数据库存储和管理数据。 **Flex数据交互**: Flex是一款强大的开发工具,用于创建互动丰富的基于Flash的用户...

    flex4与java交互

    其改进的皮肤和组件体系结构允许开发者创建高度自定义的UI。同时,Flex4支持Spark和 Halo两种组件集,Spark组件提供更丰富的视觉效果和性能优化。 二、Flex4与Java的交互机制 1. AMF(Action Message Format):AMF...

    flex与后台servlet建立连接

    而Servlet是Java平台上用于处理HTTP请求的服务端程序,它是Java EE体系结构中的重要组成部分,常用于构建动态Web应用。 在这个"flex与后台servlet建立连接"的例子中,我们关注的是如何让Flex前端与后台的Java ...

    Manning.Hello.Flex.4.Nov.2009.rar

    Flex 4是Adobe Flex的重大更新版本,提供了更强大的设计工具、更灵活的组件体系结构以及对ActionScript 3的深度集成。 Flex 4,也被称为Gumbo,引入了全新的Skinning和Component Model,允许开发者通过视觉元素和...

    Flex3Cookbook.rar

    在学习和使用Flex3时,你需要掌握ActionScript的基础语法、MXML的结构以及Flex组件体系。此外,了解如何配置和使用BlazeDS或GraniteDS进行Java与Flex间的数据交换也是关键。对于Java开发者,还需要熟悉Servlet、JSP...

    wrox的《flex高级编程》源代码

    8. **Chapter 8** - 可能涵盖Flex的组件体系结构,包括标准组件的使用、自定义组件的创建,以及如何使用皮肤和样式来改变组件外观。 9. **Chapter 9** - 可能会讲解数据绑定和数据模型,这是Flex中非常重要的概念,...

    Flex教程-PPT文档

    5. **Flex框架**:包括 Cairngorm、BlazeDS、PureMVC等,这些框架为Flex应用提供了结构化的开发模式,帮助开发者更好地组织代码和管理应用程序的生命周期。 6. **Services与Remoting**:Flex支持与服务器端进行数据...

    springmvc与Flex集成示例

    1. **通信协议**:Spring MVC与Flex之间的通信通常采用AMF(Action Message Format),这是一种二进制协议,能够高效地传输数据,支持复杂的数据结构。 2. **服务暴露**:在Spring MVC中,通过配置Spring的...

    Spring_3.x企业应用开发实战 目录

    - **1.4 Spring体系结构** - **核心容器**:包含 Spring 框架的基本组成部分,如 BeanFactory 和 ApplicationContext。 - **数据访问/集成**:提供数据访问层的支持,包括 JDBC、ORM 和 OXM 等。 - **Web**:为 ...

    java面试资料

    在了解具体的Struts框架工作原理之前,我们需要先明确Struts框架的基本结构和工作流程。 **客户端请求处理流程:** 1. **客户端发起请求:** 用户通过浏览器等客户端向服务器发送HTTP请求。 2. **ActionServlet...

    Flex 开发架构

    与此同时,Java作为企业级应用开发的主要选择之一,拥有成熟的技术体系和广泛的社区支持。结合这两种技术进行Web应用程序开发成为了一种越来越受欢迎的方案。 #### 二、Flex与Java集成的典型架构 在Flex与Java集成...

    完整的Flex中文帮助文档 PDF格式

    这个“完整的Flex中文帮助文档”包含了对Flex全面的介绍、教程、API参考和指南,对于学习和理解Flex技术体系至关重要。下面将详细阐述Flex的核心知识点。 1. **Flex架构**:Flex是基于Flash Player或Adobe AIR运行...

Global site tag (gtag.js) - Google Analytics