`

Flex + BlazeDS + J2EE 项目 交互 传值

    博客分类:
  • Flex
阅读更多
我的CSDN博客地址:http://blog.csdn.net/qidong7

BlazeDS  和 LCDS 类似,只是比LCDS功能少了些,相关文章介绍,网上搜搜就有,
下面实际操作,如何建立项目:

下面就来建立一个Flex Web Project

1、像建立一个普通的WebProject一样,右击->new->Flex Project

2、输入项目名称,Application Server Type 选择 J2EE

3、J2EE Settings
   Target runtime  是选择服务器
   Flex War File   选择 BlazeDS 的 war包(网上有很多,下载一个就好了)所在的位置,(如:E:\source\BlazeDS.war)

4、next 下去,就完成了 Flex Web Project 的创建,
客户端使用Flex技术,服务器端使用J2EE,客户端和服务器端使用BlazeDS进行交互传值

5、发布、运行,如果不可以运行,需要修改路径配置、建议使用方法2(http://quasimodo-es.iteye.com/admin/blogs/486739)

具体传值方式和LCDS一样一样的
http://quasimodo-es.iteye.com/blog/503830

.mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	
	<mx:RemoteObject id="MyRO" destination="HelloWorldRO"/>
	
	
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
		
			//hello world 测试通信
			private function onClick() : void{
				MyRO.sayHello("  java ");
			}
			
			
			//向JAVA端传递String类型的值 
			private function onStringClick() : void{
				var strArgs : String = " hello java =========== ";//
				MyRO.addEventListener(ResultEvent.RESULT,handleStringResult);
				MyRO.getFlexString(strArgs);//调用J2EE的方法
				
			}
			//接受返回的String
			private function handleStringResult(event : ResultEvent) : void{
				Alert.show(event.result.toString());
			}
			
			
			//传递Object
			private function onObjectClick() : void{
				var obj : User = new User();
				obj.username = " flex username === ";
				obj.password = " flex password === ";
				MyRO.addEventListener(ResultEvent.RESULT,handleObjectResult);
				MyRO.getFlexObject(obj);
			}
			//接受返回的Object
			private function handleObjectResult(event : ResultEvent) : void{
				var obj : User = event.result as User;
				Alert.show(obj.username + "\n" + obj.password);
			}
			
			//传递Array
			private function onArrayClick() : void{
				var arr : Array = new Array();
				for(var i : int = 0 ; i < 4 ; i++){
					var obj : User = new User();
					obj.username = " flex username === " + i;
					obj.password = " flex password === " + i;
					arr.push(obj);
				}
				
				MyRO.addEventListener(ResultEvent.RESULT,handleArrayResult);
				MyRO.getFlexArray(arr);
				
			}
			//接受返回的List
			private function handleArrayResult(event : ResultEvent) : void{
				var ac : ArrayCollection = event.result as ArrayCollection;
				for(var i : int = 0 ; i < ac.length ; i++){
					var user : User = ac.getItemAt(i) as User;
					Alert.show(user.username + " \n " + user.password);
				}
			}
						
			
		]]>
	</mx:Script>
	
	<mx:Button x="52" y="29" label="hello java" click="onClick()"/>
	<mx:Button x="52" y="119" label="String" click="onStringClick()"/>
	<mx:Button x="52" y="225" label="Object" click="onObjectClick()"/>
	<mx:Button x="52" y="328" label="Array" click="onArrayClick()"/>
	
</mx:Application>



Flex 端的 User类
package
{
	[Bindable]
	[RemoteClass(alias='com.User')]//序列化,对应于J2EE的User类,User类中必须有默认构造方法
	public class User
	{
		public var username : String;
		public var password : String; 
		public function User()
		{
		}

	}
}


J2EE和Flex通信的接口:

package com;

import java.util.ArrayList;
import java.util.List;

import flex.messaging.io.amf.ASObject;

public class Hello {
	
//	方法必须是public 
	public void sayHello(String str){
		System.out.println("   hello world , and hello  " + str);
	}
	
	//接受从Flex 传来的参数,并返回一个String参数
	public String getFlexString(String str){
		
		System.out.println(str);
		
		return " hello Flex ==============  ";
		
	}
	
	//接受从Flex 传来的参数,并返回一个User参数
	public User getFlexObject(User user){
		System.out.println(user.getUsername() + "\n" + user.getPassword());
		User userVO = new User();
		userVO.setUsername(" java username == ");
		userVO.setPassword(" java password ==");
		return userVO;
	}
	
	//接受从Flex 传来的参数Array,并返回一个List参数
	public List getFlexArray(List list){
		
		List returnList = new ArrayList<User>();
		
		for(int i = 0 ; i < list.size() ; i++){
			
			User user = (User) list.get(i);
			
			System.out.println(user.getUsername() + "\n" + user.getPassword());
			
			User returnUser = new User();
			
			returnUser.setUsername(" java username " + i);
			returnUser.setPassword(" java password " + i);
			returnList.add(returnUser);
		}
		return returnList;
	}
	
}



Java的User类
package com;

public class User {
	private String username;

	private String password;

	public User() {
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}









项目源码下载:http://download.csdn.net/source/1780264
4
0
分享到:
评论

相关推荐

    Flex+BlazeDS整合J2ee示例

    总之,`Flex+BlazeDS整合J2ee示例`是一个综合性的项目,涉及前端UI设计、后端服务开发以及两者间的通信机制。学习和理解这个示例可以帮助开发者掌握如何构建高效、实时的富互联网应用程序,提升Web应用的用户体验。

    Flex+Blazeds与J2ee整合

    ### Flex+Blazeds与J2ee整合 #### 背景介绍 随着技术的发展,企业级应用开发中,前端与后端之间的交互变得尤为重要。Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,允许开发者创建丰富的用户...

    Flex + LCDS + J2EE 传值交互实例

    总结来说,Flex + LCDS + J2EE的组合为跨平台的数据交互提供了一个强大的解决方案,使得富客户端应用能够无缝地与企业级后端系统进行数据交换,无论是简单的字符串,还是复杂的对象和数组。熟练掌握这一技术栈,对于...

    flex+BlazeDS整合j2ee开发环境的配置过程

    Flex 是一款用于构建高度交互式Web应用的软件开发工具,而BlazeDS则是一个允许Flex和AIR客户端应用程序与Java服务器进行通信的开放源码服务器端Java库。通过这种整合,开发者可以在客户端使用Flex创建丰富的用户界面...

    Flex4+J2EE+Blazeds配置jspweb工程

    Flex4、J2EE和Blazeds是构建富互联网应用程序(RIA)的组合技术,用于创建交互性强、用户体验丰富的Web应用。在这个配置过程中,我们将深入理解这三个组件的作用以及如何将它们整合到一个JSP Web工程中。 1. Flex4...

    J2EE+Flex+Blazeds配置实例

    在本文中,我们将深入探讨如何配置一个基于J2EE、Flex和Blazeds的应用实例。首先,我们需要了解这些技术的基本概念。J2EE(Java 2 Platform, Enterprise Edition)是用于构建企业级分布式应用程序的平台,它包含了...

    j2ee+flex+blazeds 配置实践

    BlazeDS是Adobe提供的开源项目,它是J2EE与Flex之间的通信媒介。BlazeDS支持AMF(Action Message Format)协议,这种高效的数据交换格式能够实现低延迟、高效率的服务器到客户端的数据传输。BlazeDS还提供了Remoting...

    flex + j2ee+blazeds 配置

    5. BlazeDS:Adobe的开源项目,提供与Java后端通信的Remoting和 Messaging服务,使得Flex应用能与Java应用进行实时数据交互。 配置步骤如下: 1. **配置Tomcat**:确保你的系统环境变量`CATALINA_HOME`指向正在...

    Flex4.X+BlazeDS+Spring3L实战开发在线书店四

    综合以上技术,本项目通过Flex 4.6构建美观且交互性强的前端,BlazeDS负责与Spring 3后端的通信,Spring 3协调业务逻辑,JPA和Hibernate实现数据持久化,而MySQL作为存储层。这种技术组合为在线书店提供了一个高效、...

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

    7. 接下来,创建Flex客户端项目(flex_client),选择J2EE作为应用服务器类型。在配置中,指定Java Web项目的路径,并验证配置,确保Flex客户端能够找到服务器上的BlazeDS服务。 通过以上步骤,我们就建立了一个...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part2.pdf

    ### Flex+J2EE 实例(Cairngorm+BlazeDS+Hibernate+Spring)Part 2 #### 一、概述 本文档介绍了一个利用Flex前端技术与J2EE后端技术结合的具体实现案例,主要涉及到的技术栈包括:Cairngorm、BlazeDS、Hibernate ...

    Flex4 + J2EE + Blazeds 配置 jspweb 工程 含实例源码

    Flex4、J2EE与Blazeds的整合是构建富互联网应用程序(RIA)的一个常见方案,主要用于开发交互性强、用户体验良好的Web应用。本教程将详细阐述如何配置一个基于Flex4、J2EE和Blazeds的jspweb工程,并提供实例源码供...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4.pdf(完)

    ### Flex+J2EE 实例(cairngorm+blazeDS+hibernate+spring)Part 4 本文档是关于如何利用Flex与Java EE技术栈构建一个完整的富互联网应用(RIA)项目的系列文章之一。该部分主要介绍了如何集成Cairngorm框架到项目...

    MyEclipse2013+flex4.7+Blazeds配置+源代码

    完成后,可以创建Flex项目,并在项目中引用Blazeds服务,实现客户端与服务器端的数据交互。 【源代码】 源代码是程序开发的基础,包含了开发者编写的指令和逻辑,用于实现特定功能。在"MyEclipse2013+flex4.7+...

    Flex+Elipse+blazeDS+tomcat部署.pdf

    1. **Flex**:Flex 是 Adobe 推出的一种用于构建富互联网应用程序(RIA)的开发框架,基于 ActionScript 和 MXML 语言,主要用于创建交互式、响应式的用户界面。它允许开发者创建跨平台的桌面和移动应用程序。 2. *...

    BlazeDS集成Flex+Tomcat开发J2EE模块整合实例

    在BlazeDS和Flex的集成中,Tomcat常被用作部署服务器,承载BlazeDS服务以及与之交互的Flex应用程序。 在J2EE模块整合中,BlazeDS通常作为中间件,负责在Flex客户端和Tomcat服务器之间建立连接。开发者可以在Tomcat...

Global site tag (gtag.js) - Google Analytics