Flex 对Java端返回Collection的处理方法

下载链接转换 可以用于普通链接与迅雷链接,旋风链接,快车链接之间的转换 立即下载

将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。

处理,尤其是List、Set、Map及POJO对象值。

在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:

1、Java端

1.1、com.yeeach.HelloWorldService

package com.yeeach;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class HelloWorldService {
public String hello(String var1) {
return "hello " + var1;
}
public String world(String var1) {
return "world " + var1;
}
public Map<String,List<String>> getMap() {
ArrayList<String> list1=new ArrayList<String>();
list1.add("value11");
list1.add("value12");
list1.add("value13");
ArrayList<String> list2=new ArrayList<String>();
list2.add("value21");
list2.add("value22");
list2.add("value23");
ArrayList<String> list3=new ArrayList<String>();
list3.add("value31");
list3.add("value32");
list3.add("value33");
HashMap<String,List<String>> map=new HashMap<String,List<String>>();
map.put("key1", list1);
map.put("key2", list2);
map.put("key3", list3);
return map;
}
public ArrayList<Person> getList() {
ArrayList <Person> list=new ArrayList<Person>();
Person p1=new Person();
p1.setName("name1");
p1.setPass("pass1");
Person p2=new Person();
p2.setName("name2");
p2.setPass("pass2");
Person p3=new Person();
p3.setName("name3");
p3.setPass("pass3");
list.add(p1);
list.add(p2);
list.add(p3);
return list;
}
public Set<Person> getSet() {
HashSet<Person> set=new HashSet<Person>();
Person p1=new Person();
p1.setName("name1");
p1.setPass("pass1");
Person p2=new Person();
p2.setName("name2");
p2.setPass("pass2");
Person p3=new Person();
p3.setName("name3");
p3.setPass("pass3");
set.add(p1);
set.add(p2);
set.add(p3);
return set;
}
}

1.2、com.yeeach.Person

package com.yeeach;

public class Person {

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
private String name;
private String pass;

}

2、Flex 端

2.1、helloworld.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:RemoteObject destination="test1"
id="test1">
<mx:method name="hello"
result="sayHelloResult(event)"/>
<mx:method name="world"
result="sayWorldResult(event)"/>
<mx:method name="getMap"
result="getMapResult(event)"/>
<mx:method name="getList"
result="getListResult(event)"/>
<mx:method name="getSet"
result="getSetResult(event)"/>
</mx:RemoteObject>
<mx:HBox>
<mx:Label text="输入:"/>
<mx:TextInput id="inputStr"/>
<mx:Button label="say hello"
click="sayHello(event);"/>
<mx:Button label="say world"
click="sayWorld(event);"/>
<mx:Button label="get map"
click="test1.getMap()"/>
<mx:Button label="get list"
click="test1.getList()"/>
<mx:Button label="get set"
click="test1.getSet()"/>
</mx:HBox>
<mx:HBox>
<mx:Label text="结果:"/>
<mx:TextArea id="result"/>
</mx:HBox>

<mx:Script>

<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import com.yeeach.Person;
[Bindable]
public var person:Person;
[Bindable]

public var map:ArrayCollection=null;

function sayHello(event:Event):void
{
var inputVar:String=inputStr.text;
test1.hello(inputVar);

}

function sayWorld(event:Event):void
{
var inputVar:String=inputStr.text;
test1.world(inputVar);

}

private function sayHelloResult(event:ResultEvent):void
{
result.text=event.result.toString();
Alert.show(event.result.toString(), "返回结果");
}

private function sayWorldResult(event:ResultEvent):void
{
result.text=event.result.toString();
Alert.show(event.result.toString(), "返回结果");
}

private function getMapResult(event:ResultEvent):void
{
for (var key:String in event.result)
{
var list:ArrayCollection=event.result[key] as ArrayCollection;
for (var key1:Object in list)
{
Alert.show("map item key is: " + key + " value is: " + key1);
}

}
}

private function getList():void
{
test1.getList();
}

private function getListResult(event:ResultEvent):void
{
var ac:ArrayCollection=event.result as ArrayCollection;
for (var i:int=0; i < ac.length; i++)
{
var p1:Person=ac.getItemAt(i) as Person;
Alert.show("list item name is: " + p1.name+" /n another usage : "+ac.getItemAt(i).name);
}

}
private function getSet():void
{
test1.getSet();
}

private function getSetResult(event:ResultEvent):void
{
var ac:ArrayCollection=event.result as ArrayCollection;
for (var i:int=0; i < ac.length; i++)
{
var p1:Person=ac.getItemAt(i) as Person;
Alert.show("set item name is: " + p1.name);
}

}
]]>
</mx:Script>
</mx:Application>

 

2.2、com.yeeach.Person.as

package com.yeeach
{
[Bindable]
[RemoteClass(alias="com.yeeach.Person")]
public class Person
{
public var name:String;
public var pass:String;
}
}

 

 

3、总结:

1、JavaBean从Java端返回给Flex,可以通过Flex的Meta Tag [RemoteClass (alias=” “)]来标识服务器端对应的Java的类(一般为POJO对象)。

注意位置,是在class声明前。

2、Java Collection返回给Flex,都可以通过转化为mx.collections.ArrayCollection来进行处理。

3、Flex对于服务器端返回的java其他类型的处理,相对简单,可以参考

http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html

Technorati 标签: flex, RIA, arraycollection, RemoteClass, spring, blazeds
基于ADS\HFSS\Matlab的平面带通发夹滤波器设计 写在最前面,前段时间完成了一个小项目,实现13.5~14GHz的带通滤波器,算是第一个微波项目,在老师、学长、各种大神的指点下,最终完成了指标,想来这段时间收获良多,想到老师教导的,有能力的话要尽可能帮助别人,以及网络上很少面向于小白的教程,于是决定把自己做这个小项目的经过,一些关键步骤,还有软件操作和公式讲解都发出来,供大家指正借鉴。由于我目前大三,刚学习电磁场、微波工程等等,技术实在有限,同时这样是我第一次发帖子,只能尽可能的将自己确认过正确的内容,步骤以及一些经验写出来,供大家借鉴。 阅读详情

相关推荐

走马观碑组智能车竞赛:目标板识别算法优化与实战技巧(基于OpenCV)

本文针对智能车竞赛走马观碑组别的核心挑战,深入探讨了基于OpenCV的目标板识别算法优化与实战技巧。文章系统分析了PVC赛道环境下的光照、运动模糊等干扰因素,详细拆解了从红色矩形定位、透视校正到特征提取与分类的完整流程,并提供了工程优化、速度提升及现场调试的实用策略,旨在帮助参赛队伍构建一套在高速运动中既准又快的鲁棒识别系统。

life6的博客 732

yeeach.com掘客网站

它是一个网站运营、网站优化及开发技术为一体的综合性网站,无意间搜到的,感觉还不错。 http://www.yeeach.com/http://www.yeeach.com/digg/story/390

iteye_3636的博客 8543

mysql 计算不同胜率的活跃玩家的次日,3日,7日留存率

它根据每天的日期(logymd)和最高段位(max_rank)、胜率段落(win_rate_segment)进行分组,并计算总玩家人数(total_players)、第二天的留存人数(next_day_players)、第三天的留存人数(day3_players)和第七天的留存人数(day7_players)。注意:不是新手留存,是段位活跃玩家留存;最终的结果则是将留存数据进行展示,按照日期(date)、最高段位(rank_level)、胜率段落(win_rate_segment)进行排序。

weixin_42698221的博客 1834

下载链接

下载链接1. 磁力链接 1. 磁力链接 magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAA52SJUQCZO5C 磁力链接可以包括一个或多个参数,之间用’&'隔开, 最常见的参数是"xt",是"exact topic"的缩写,通常是一个特定文件的内容散列函数值形成的URN 其值是Base32编码的文件的SHA-1散列 虽然这个链接指向一个特定文件,但是客户端应必须进行搜索来确定哪里. 标准的草案参数的定义: dn 显示名称 kt 关键字,指定搜索关键字

3万+

soul聊天协议逆向

通过观察上面的CFG发现,该混淆符合以下逻辑,整体思路就是先查找主分发器,一般被引用次数最多的那个块就是主分发器,引用主分发器的块大概率是真实块,再使用unicorn模拟执行,遍历每一个分支,记录每一个块,如果某一个块是上次记录的块则也为真实块,无后继的块则为retn块,剩下的就是无用块。通过Frida Hook libc.so后发现,聊天协议走的是JAVA层的socket,然后Hook JAVA层相关函数得到如下调用堆栈。里面调用的函数不是很多,所以。不行不行,革命要彻底!

2503_90751789的博客 3207

如何使用ArcGIS自动矢量化建筑

在显示的重分类对话框内,输入栅格选择提取单波段后的栅格,重分类分为三个层级,旧值分别为100-249、250-251和252-255,对应新值为1、2和3,旧值的最小和最大值不用修改,保持和原有的一致。同样在ArcToolbox内点击Spatial Analyst工具点击“重分类\重分类”,在重分类对话框内输入栅格选择之前重分类过后的图片,将旧值3的新值设置为1,这样分类后就只有两类。在显示的新建Shapefile对话框内,名称命名为折线,要素类型选择折线,点击编辑,设置坐标系为WGS 1984。

2162

基于LUCENE实现自己的推荐引擎(转)

1、常用推荐引擎算法问题 1)、相对成熟、完整、现成的开源解决方案较少 粗略分来,目前与数据挖掘及推荐引擎相关的开源项目主要有如下几类: 数据挖掘相关:主要包括Weka、R-Project、Knime、RapidMiner、Orange 等 文本挖掘相关:主要包括OpenNLP、LingPipe、FreeLing、GATE 等,具体可以参考LingPipe’s Competition 推...

backsnow 233

保姆级教程:用CH34xSerCfg工具修改USB转串口芯片的VID/PID,避免驱动冲突

本文详细介绍了如何使用CH34xSerCfg工具修改USB转串口芯片的VID/PID,解决驱动冲突问题。通过实战案例和配置技巧,帮助开发者高效管理嵌入式设备,避免常见的USB设备识别问题,提升开发效率。

weixin_30924239的博客 224

百度网盘秒传链接怎么用及实现原理

为了防止分享链接被恶意举报,一些资源提供者开始使用秒传链接形式进行分享。本文探索了秒传链接提取的原理,并介绍了简单的用法。 如何使用 关于原理的部分请跳到下一节。 安装扩展及脚本(1、2均为必选,非二选一) 安装扩展组件(必选) 对于 Chrome 及同内核的套壳浏览器,请安装Tampermonkey扩展。 对于 FireFox 浏览器,可以安装Tampermonkey扩展或Greasemonkey,推荐前者。 油猴组件允许你在浏览器中插入额外的 js 代码来自由定义网页显示与运行方式,同时提供...

david2000999的博客 6万+

两万字硬核指南!Python爬虫requests库从入门到精通:新手也能搞定所有爬取场景(附实战案例+避坑大全)

请求头是客户端发送给服务器的额外信息,比如User-Agent(浏览器类型)、Referer(来源页面)、Cookie(登录凭证)、(编码方式)等。Cookie是服务器存储在客户端的小型文本文件,包含用户的登录凭证、偏好设置等信息。浏览器会在每次请求时自动携带Cookie,服务器通过Cookie识别用户身份。代理IP是一个中间服务器,你的请求先发送到代理IP,再由代理IP发送到目标网站,目标网站只能看到代理IP的地址,看不到你的真实IP。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1496

8、对比 LightGBM、XGBoost 和深度学习

本文对比了LightGBM、XGBoost和深度学习模型(特别是TabTransformer)在处理表格数据时的性能差异。从模型复杂度、数据准备、训练时间、准确性和适用场景等方面进行分析,重点探讨了三者在人口普查收入预测任务中的表现。文章详细介绍了XGBoost与LightGBM的核心特性与区别,深入讲解了TabTransformer的架构与实现,并涵盖了分类特征编码、缺失值处理和类别不平衡等关键数据预处理技术,为选择合适的表格数据建模方法提供了实践指导。

julia4scientist的博客 120

Flex 对Java端返回Collection的处理方法

1.Flex 对Java端返回Collection的处理方法(不错的调试桥段啊) [url]http://chuanliang.wordpress.com/2009/07/22/flex-%E5%AF%B9java%E7%AB%AF%E8%BF%94%E5%9B%9Ecollection%E7%9A%84%E5%A4%84%E7%90%86%E6%96%B9%E6%B3%95-2/[/url] ...

macleo的路 158

软考中级-软件设计师 Python基础

软考中级-软件设计师 Python知识点整理

片言可决讼,半纸能缚龙 3641

java返回对象给flex_Flex 对Java端返回Collection的处理方法

将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。处理,尤其是List、Set、Map及POJO对象值。在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:1 1、Java端2 1.1、com.yeeach.HelloWorldServic...

weixin_33421437的博客 209

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[转载]Flex 对Java端返回Collection的处理方法

将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。处理,尤其是List、Set、Map及POJO对象值。在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:1、Java端1.1、com.yeeach.HelloWorldServicepackage com.yeeach;import java.util.ArrayList;import java.u

Allen的技术天空 800

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Flex 对Java端返回Collection的处理方法--java 与flex对象的相互传递

将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。处理,尤其是List、Set、Map及POJO对象值。 在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下: 1、Java端 1.1、com.yeeach.HelloWorldService

bincavin的专栏 491

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Flex Collection的处理方法

Flex 对Java端返回Collection的处理方法 对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。处理,尤其是List、Set、Map及POJO对象值。   1、java端 HelloWorldService.java import java.util.ArrayList; import java.util.HashMap; imp...

路还很长 172

Flex 对Java端返回Collection的处理

Flex 对Java端返回Collection的处理方法 将Flex与Spring集成后(BlazeDS 与Spring集成指南 ), 第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射处理,尤其是List、Set、Map及POJO对象值。 在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下: 一、ja...

nicelife19的专栏 139

Flex Java Spring

Flex 对Java端返回Collection的处理方法 将Flex与Spring集成后(BlazeDS 与Spring集成指南 ),第一个面临的问题就是:对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。 处理,尤其是List、Set、Map及POJO对象值。 在 BlazeDS 与Spring集成指南 例子的基础上,调整相关的测试代码如下:...

shihuan830619的专栏 328

flex:RemoteObject 和 DataGrid 数据交互, AS 与java 数据类型转换

        {RO.listPerson.result}                        columnName="name"/>            columnName="age"/>            public class Person{    String name;    int age;    //getters and setters here.    //

&Applex Studio 5746

Flex传ArrayCollection到java中Collection小插曲中的发现

  说在前言:在公司搞了半年多的jsp,最近要转向Flex,搞富客户端。 关于Flex优缺点、如何与java通讯本人也是一知半解,刚接触两周左右,没有很深的理解。声明,在帖子中描述的问题,也许根本就不是问题,只是个人了解还甚少的结果,如果是这样,还烦请大家指出。 本文是有这样一个对话引起发的。 A:我勒个去,真是让人郁闷啊! B:什么个情况?如实道来,让大家开心下。 A:是这样的...

weixin_33724659的博客 151

Java全栈开发学习路径:从零基础到项目实战的完整指南

Java作为一门成熟稳定的编程语言,其核心优势在于跨平台的JVM和强大的并发处理能力,这使其成为企业级应用开发的主流选择。理解面向对象编程(OOP)的原理,掌握集合框架和多线程技术,是构建高性能后端服务的基础。在Web开发领域,Spring Boot框架通过自动配置和起步依赖,极大地简化了项目搭建,使得开发者能够快速构建Restful API。结合MyBatis或JPA等数据持久层框架,可以实现高效的数据操作。对于全栈开发者而言,还需要掌握前端技术,如Vue.js或React框架,以实现前后端分离的现代化应

weixin_30791095的博客 444
上一篇: BlazeDS 与Spring集成指(Spring BlazeDS Integration1.0)
下一篇: Spring XML配置的12个技巧
cg_program
博客等级 码龄19年 245粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值