`

Flex + LCDS + J2EE Web 项目(3) 传值

阅读更多
请关注新浪微博 账号:大数据进行时(http://weibo.com/u/3272022684

传递String类型到J2EE,以及接受来自于J2EE的返回值String类型

传递Object类型到J2EE,以及接受来自于J2EE的返回值Object类型

传递Array类型到J2EE,以及接受来自于J2EE的返回值List类型

接自 Flex + LCDS + Java 的Web 项目(2)  HelloWorld
http://quasimodo-es.iteye.com/blog/503084

.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
分享到:
评论

相关推荐

    Flex + LCDS + J2EE 传值交互实例

    Flex、LCDS(LiveCycle Data Services)和J2EE之间的通信是构建富互联网应用程序(RIA)的关键技术之一。本实例将深入探讨如何在这些技术之间有效地传递不同数据类型,包括字符串(String)、对象(Object)和数组...

    Flex+LCDS+J2EE系统的实现例子

    总结来说,"Flex+LCDS+J2EE系统的实现例子"展示了如何利用这三种技术构建一个完整的Web应用。通过Flex提供直观的用户界面,LCDS实现前后端的数据通信,而J2EE则负责处理业务逻辑和数据存储。这种架构在企业级应用中...

    Flex+LCDS+Java+入門教程

    Flex + LCDS + Java 入门教程 很多人在帖子和群中问到过一些关于建立Flex+LCDS(FDS)工程的问题,由于操作上的东西,很难简单说清楚,于是写了一个简单的教程(本来很早就答应过的,结果被newfish逮住做东西,加上...

    Flex + LCDS + Java

    安装好这些工具后,可以开始创建Flex + LCDS项目: 1. 新建Flex LCDS工程:在Eclipse中,选择File -&gt; New -&gt; Flex Project,然后在向导中设置Java源代码目录,这将决定你的Java业务代码的存放位置。选择combined...

    Flex + LCDS + Java 入门教程.doc

    3. 获取LCDS软件包,它包含flex.war文件,需要部署到Web应用服务器如Tomcat。 4. 安装Tomcat 5或更高版本,作为运行Flex应用的服务器。 接下来,我们将通过以下步骤创建一个Flex LCDS工程: 1. 新建Flex LCDS工程...

    J2EE+FLEX+LCDS实现数据通信(带图,超详细)

    为了使Flex和Java能通过LCDS进行通信,需要将LCDS中的`WEB-INF/lib`和`flex`两个文件夹复制到Flex项目(例如FlexDemo)的`WEB-INF`目录下。 随后,我们需要在MyEclipse中为项目添加Flex特性。右键点击项目,选择...

    Flex+LCDS+JAVA入门

    Flex+LCDS+JAVA入门教程主要涵盖了三个关键的技术领域,它们分别是Adobe Flex、LCDS(LiveCycle Data Services)以及Java。这些技术结合在一起,能够构建高效、交互性强的富互联网应用程序(RIA)。以下是对这三个...

    Flex + LCDS + Java 利用Eclipse Plugin开发Flex入门教程

    总结来说,本教程的目标是让初学者理解如何在Eclipse环境中搭建Flex+LCDS+Java的开发环境,创建和配置Flex LCDS项目,以及如何通过RemoteObject进行通信。通过学习和实践,你可以快速掌握Flex与Java集成的基础,为更...

    Flex + LCDS + Java 入门教程.pdf

    - **Flex Builder 3 Beta 2**:此版本的Flex Builder在LCDS项目方面进行了大量优化,提高了开发效率。 - **MyEclipse 6.0**:一款强大的Java开发工具,能够简化Flex和Java结合项目的部署流程。 - **LCDS**:安装LCDS...

    Flex+LCDS+Java入门教程

    ### Flex+LCDS+Java 入门教程知识点详解 #### 一、引言 本教程旨在帮助初学者了解如何创建Flex与LCDS相结合的工程项目,并通过整合和部署J2EE项目与LCDS项目来实现简单功能。教程通过图文并茂的方式,详细介绍了...

    Flex+J2EE+Lcds在myEclipse中的配置.doc

    在开发Web应用程序时,Flex作为客户端的富互联网应用(RIA)框架,与J2EE服务器端技术和Lcds(LiveCycle Data Services)结合,可以创建高效的数据交互应用。myEclipse作为一个强大的Java EE集成开发环境,支持Flex...

Global site tag (gtag.js) - Google Analytics