`
yunzhongxia
  • 浏览: 647317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex Java对象映射

    博客分类:
  • flex
阅读更多

      ResultEvent.result中如果返回的不是java的基本类型则flex会把它转化为Object类型(Object强制转化为As对象后,as对象为null)。如果想让result中的结果自动转化为相应的AS3对象,就需要使用[RemoteClass(alias="完整的java类路径")].

      具体的步骤如下:

      1 定义java bean

public class SecurityAction {

	public String componentId;//组件ID
	public boolean isShow;// 有权限为true 否则为false
	
	/**
	 * 没有权限时的处理方式
	 * 1 remove:通过调用comp.parent.removeChild()完全删除组件
	 * 2 visible:将 compl.visible 属性设置为 false。
	 * 3 enable:将 comp.enable 属性设置为 false。
	 */
	public String showType;

	public String getComponentId() {
		return componentId;
	}

	public void setComponentId(String componentId) {
		this.componentId = componentId;
	}

	public boolean isShow() {
		return isShow;
	}

	public void setShow(boolean isShow) {
		this.isShow = isShow;
	}

	public String getShowType() {
		return showType;
	}

	public void setShowType(String showType) {
		this.showType = showType;
	}

}

 

   2 定as3对象

[Bindable]
	[RemoteClass(alias="com.amc.purview.model.SecurityAction")]
	public class SecurityAction{ 
		public function SecurityAction(){
			
		}
		public var componentId:String;//组件的id
		public var isShow:Boolean;//有权限为true 否则为false
		
		/**
		 * 没有权限时的处理方式
		 * 1 remove:通过调用comp.parent.removeChild()完全删除组件
		 * 2 visible:将 compl.visible 属性设置为 false。
	 	* 3 enable:将 comp.enable 属性设置为 false。
		 */
		public var showType:String;
	} 

 

 3. java端返回结果。

public ArrayCollection getActions(String userId,String pageId){
		ArrayCollection ac=new ArrayCollection();
		SecurityAction action=new SecurityAction();
		action.setComponentId("btn2");
		action.setShow(false);
		action.setShowType("enable");
		ac.add(action);
		return ac;
	}

 

4  flex端处理返回结果。

private function getActionSuc(result:ResultEvent):void{
			var actions:ArrayCollection=result.result as ArrayCollection;
			if(actions!=null){
				Security.load(actions,comp);
			}
		}

 

 

注意:1 as3对象和java对象的属性必须一致,public和private都可以的。

        2 按照规范,暴露给Flex调用的不能包含以下保留的方法名:

 

disconnect()
getOperation()
hasOwnProperty()
initialized()
isPrototypeOf()
logout()
propertyIsEnumerable()
setCredentials()
setPropertyIsEnumerable()
setRemoteCredentials()
toString()
valueOf()

 

如果不小心用到了以上的方法,可以用以下方法解决。

public var myRemoteObject:RemoteObject = new RemoteObject();
myRemoteObject.destination = "ro-catalog";
public var op:Operation = myRemoteObject.getOperation("hasOwnProperty");

 

注意:如果flex中有多个Module,就有可能导致RemoteClass信息丢失,如何解决RemoteClass信息丢失,请参考我的另一篇博客解决RemoteClass alias信息丢失

分享到:
评论

相关推荐

    flex java实例

    ORM框架可以将Java对象直接映射到数据库表,简化数据库操作。 9. 安全性与优化: 虽然这个实例主要是为了教学,但实际应用中还需要考虑安全性(如输入验证、授权、认证)和性能优化(如分页、缓存策略、异步请求)...

    flex映射java类

    BlazDS提供了一种解决方案,即通过类映射机制,使得Flex可以调用Java的方法,如同调用本地对象一样。 当在Java项目中有一个`save(User user)`方法,接收一个User类型的JavaBean作为参数时,要在Flex端调用此方法,...

    flex+java入门

    5. **JOTO对象映射**:了解如何在Flex客户端声明Java对象,以及在服务器端如何处理这些对象。这涉及到数据类型的映射和对象的序列化。 6. **事件驱动编程**:在Flex中,事件驱动模型是主要的编程模式。学习如何监听...

    Flex + Java 最佳实例(附工程)

    AMF是一种高效的序列化格式,它能将ActionScript对象直接转换为Java对象,反之亦然,大大提高了数据传输效率。使用 BlazeDS 或 GraniteDS 等中间件,可以轻松建立Flex前端与Java后端之间的通信桥梁。 四、学习资源...

    flex与java通信

    - RemoteObject组件:提供与服务器进行AMF通信的便捷方式,可以自动映射Java对象到Flex对象。 - Event-driven架构:Flex和Java之间的通信通常是异步的,需要理解事件处理机制以处理服务器响应。 - 安全性:考虑数据...

    Flex和java交互搭建

    此外,了解ActionScript和Java之间的数据类型映射、AMF的工作原理也是重要的学习内容。最后,实际操作中,还要熟悉Eclipse或其他IDE的使用,以及理解Web应用程序的基本架构。这些知识对于深入理解Web开发和提升技能...

    Flex Java通信实例

    AMF允许Flex中的ActionScript对象和Java对象之间的无缝转换。例如,ActionScript对象可以映射到Java的POJO(Plain Old Java Object),使得数据交换更加便捷。 5. **事件驱动的通信模型** Flex与Java之间的通信...

    Flex+java+mysql通信例子

    4. **BlazeDS配置**:在Java应用服务器(如Tomcat)上部署BlazeDS,配置相应的服务映射,使得Flex可以通过AMF与Java服务进行通信。 5. **创建AMF通道**:在Flex项目中,配置services-config.xml文件,定义与Java...

    Flex与Java通过实体传递数据

    在Flex中,为了能够将前端的数据对象与后端的服务进行有效映射,通常会在Flex端定义一个实体类,并使用`Bindable`和`RemoteClass`注解来关联前后端的数据模型。 ```as [Bindable] [RemoteClass(alias=...

    Flex+Java完美整合框架

    同时,Hibernate或其他ORM框架可以用于数据库操作,将Java对象与数据库表映射,简化数据访问。 总之,Flex+Java的整合利用了BlazeDS作为桥梁,实现了前端Flex和后端Java的无缝对接。开发者可以通过这种方式创建出...

    java+flex通信源码

    4. **ActionScript类映射**:在Flex中,我们需要定义ActionScript类来映射Java对象。这通常在`.as`文件中完成,确保Flex客户端可以理解和操作服务器返回的对象。 5. **事件驱动编程**:Flex和Java之间的通信通常是...

    java flex jar包

    它包含了一个AMF通道,使得Java对象可以直接序列化到AMF消息,然后通过HTTP或RTMP(Real-Time Messaging Protocol)发送给Flex应用。 3. **LCDS(LiveCycle Data Services)**:是Adobe提供的一个更全面的企业级...

    Flex+Java 文件上传

    在本文中,我们将深入探讨如何实现Flex与Java Servlet结合进行文件上传。首先,我们需要了解Flex是一种基于Adobe AIR的开源框架,用于构建富互联网应用程序(RIA),而Java Servlet是Java平台上的一个标准,用于处理...

    flex与java的通信 Blazeds remoteObject

    5. **数据转换**:Blazeds自动处理AMF到Java对象的转换,使得Flex中的ActionScript对象可以无缝地映射到Java对象。例如,你可以直接传递一个ActionScript对象到Java方法,而无需手动序列化或反序列化。 6. **异常...

    Flex+Java登录实例完整框架 基于Flex框架

    3. **Hibernate**或MyBatis:作为持久层框架,处理数据库操作,简化了SQL查询和对象关系映射。 4. **RESTful API设计**:Java后端通过提供RESTful接口,与Flex前端进行通信。这种方式基于HTTP协议,易于理解和实现...

    Flex 和 java 整合 教程

    6. **Hibernate 3.0**:持久化框架,负责数据库操作,简化了Java对象与SQL数据库之间的映射。 开发和调试环境选用: - MyEclipse 6.6作为Java开发工具,集成了对Flex的支持。 - Flex Builder 3.0.2专用于Flex应用...

    java 整合 flex项目

    在Java整合Flex项目中,Hibernate用于处理数据库交互,通过对象关系映射(ORM)将Java对象与数据库表进行绑定。这允许Flex客户端通过Java服务调用来操作数据,而无需直接操作SQL。配置Hibernate涉及创建实体类、映射...

    java连接flex代码

    AMF是一种二进制格式,它能够将Java对象序列化为可以在Flash Player中解析的格式,从而实现前后端之间的快速数据传输。 1. **Spring框架**:Spring提供了服务代理,如Spring BlazeDS Integration,可以作为Java和...

    Flex与java交换数据 Flex数据交换 Flex与java交换数据教程

    你可以使用ActionScript类来映射Java对象,这样在调用Java服务时可以直接操作这些类。 3. **Java后端**:在Java应用服务器上,定义相应的服务接口和实现。这些服务可以处理来自Flex的请求,处理业务逻辑,并返回...

    flex与java整合

    AMF能直接映射到Flex和Java对象,简化了数据序列化和反序列化的过程。 4. **Java后端**:在Java端,通常使用Spring、Hibernate等框架处理业务逻辑和数据持久化。Spring提供依赖注入和面向切面编程,便于管理对象...

Global site tag (gtag.js) - Google Analytics