- 浏览: 973169 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
Yunjey:
Yunjey 写道这样子的话、grid中的editable如何 ...
Flex创建可编辑以及分页的DataGrid -
Yunjey:
这样子的话、grid中的editable如何设置啊?!
Flex创建可编辑以及分页的DataGrid -
di1984HIT:
写的很好~~
JCalendar组件 -
sanny81:
此文真棒!感谢一路风尘的奉献!
但我有一疑 ...
Filter发送自定义数据详解 -
umgsai:
求完整demo umgsai@126.com
Flex和Jsp创建用户登入系统
在使用Flex,Java,Json更新Mysql数据【高级篇】 中我记得Flex界面中数据是使用一个JsonArray封装了JsonObject之后传给Java后台的。可是今天发现,如果你的数据只有一个JsonObject,那么是否直接传JsonObject也可以呢?试试看:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; import com.adobe.serialization.json.JSON; [Bindable] private var stuMarkDataArray:ArrayCollection; private function initApp():void{ stuMarkDataArray = new ArrayCollection(); } public function sendStuInfo():void{ var stuFaculty:String = facultyxt.text; var stuMajor:String = majortxt.text; var stuInfo:Object = new Object; stuInfo.faculty = stuFaculty; stuInfo.major = stuMajor; var stuStr:String = JSON.encode(stuInfo); sendInfo.getStuMarks(stuStr); } public function showStuMark(event:ResultEvent):void{ note.text = "Success...."; var rawArray:Array; var rawData:String = event.result as String; rawArray = JSON.decode(rawData) as Array; stuMarkDataArray = new ArrayCollection(rawArray); } public function getTotalMarks():void { getTotal.getTotalMarks(); note.text="I am searching..."; } public function showTotalMark(event:ResultEvent):void{ note.text = event.result as String; } ]]> </mx:Script> <mx:RemoteObject id="sendInfo" destination="getStuMark" showBusyCursor="true" result="showStuMark(event)"/> <mx:RemoteObject id="getTotal" destination="getTotalMark" showBusyCursor="true" result="showTotalMark(event)"/> <mx:Panel x="39" y="31" width="346" height="301" layout="absolute"> <mx:Label x="27" y="25" text="Faculty"/> <mx:TextInput x="72" y="23" id="facultyxt"/> <mx:TextInput x="72" y="64" id="majortxt"/> <mx:Label x="27" y="66" text="Major"/> <mx:Button x="27" y="92" label="各科成绩" width="109" click="sendStuInfo()"/> <mx:DataGrid x="10" y="140" height="79" width="304" dataProvider="{stuMarkDataArray}"> <mx:columns> <mx:DataGridColumn headerText="Math" dataField="math"/> <mx:DataGridColumn headerText="Chinese" dataField="chn"/> <mx:DataGridColumn headerText="English" dataField="eng"/> </mx:columns> </mx:DataGrid> <mx:Label x="10" y="227" width="304" id="note" height="24"/> <mx:Button x="192" y="94" label="总成绩" click="getTotalMarks()"/> </mx:Panel> </mx:Application>
后台JSonTestJava.java
package test; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTestJava { public String getStuMarks(String info){ String result = new String(); JSONObject jsonObject = JSONObject.fromObject(info); String faculty = jsonObject.getString("faculty"); String major = jsonObject.getString("major"); JSONArray stuMarksArray = new JSONArray(); if(faculty.equals("IT") && major.equals("SE")){ for(int i=0;i<3;i++){ JSONObject stuObj = new JSONObject(); stuObj.put("math", 100-i*2); stuObj.put("eng", 80+2*i); stuObj.put("chn", 90-i); stuMarksArray.add(stuObj); } } result = stuMarksArray.toString(); return result; } public String getTotalMarks(){ JSONObject stuObj = new JSONObject(); stuObj.put("name", "leyond"); stuObj.put("mark","344"); return stuObj.toString(); } }
使用的方法跟JSONArray差不多,只不过使用JsonArray的时候,需要先把每个jsonObject解析出来。所以比较方便的。但是现在有一个问题,如果你在后台传给的前台Flex中的是一个JSONObject的数据,请问如何在前台解析出来的。就是这里的代码该如何写呢:
public function showTotalMark(event:ResultEvent):void{ var marks:Object= JSON.decode(event.result as String); note.text = marks.name + marks.mark; }
这样就可以了,marks.name 和marks.mark就可以分别解析出name和mark。是不是很方便呢。当然如果你的数据很多,就需要用到JSAONArray了。这里就不多讲了。这个是这个例子的效果实例:
Reference: http://giantflyingsaucer.com/blog/?p=10&cpage=1
- JsonTest.rar (1.6 KB)
- 下载次数: 234
评论
10 楼
yexin218
2009-04-09
dongqdong 写道
你没有配置remoting-config.xml这个文件么?Java代码 <mx:RemoteObject id="sendInfo" destination="getStuMark" showBusyCursor="true" result="showStuMark(event)"/> <mx:RemoteObject id="getTotal" destination="getTotalMark" showBusyCursor="true" result="showTotalMark(event)"/> <mx:RemoteObject id="sendInfo" destination="getStuMark" showBusyCursor="true" result="showStuMark(event)"/>
<mx:RemoteObject id="getTotal" destination="getTotalMark" showBusyCursor="true" result="showTotalMark(event)"/>
这里要不配置 好像调用不了吧 呵呵
有啊,当然需要,见附件
9 楼
dongqdong
2009-04-09
你没有配置remoting-config.xml这个文件么?
这里要不配置 好像调用不了吧 呵呵
<mx:RemoteObject id="sendInfo" destination="getStuMark" showBusyCursor="true" result="showStuMark(event)"/> <mx:RemoteObject id="getTotal" destination="getTotalMark" showBusyCursor="true" result="showTotalMark(event)"/>
这里要不配置 好像调用不了吧 呵呵
8 楼
whaosoft
2009-03-24
呃 我 用了spring 所以就不用json了!~
7 楼
yexin218
2009-03-23
bnmcvzx 写道
楼主太谦虚了,看楼主写的文章真的很好,以后还要多向楼主请教。
呵呵,客气~
6 楼
bnmcvzx
2009-03-23
楼主太谦虚了,看楼主写的文章真的很好,以后还要多向楼主请教。
5 楼
yexin218
2009-03-22
bnmcvzx 写道
用不用spring倒不是重要的 试用了amf协议就可以直接返回对象在flex中可以直接使用这个Object 直接o.属性,我感觉这里如果service方法不是为了跟其他地方通用json返回值的话是可以不用的
spring的整合很简单是固定的配置 我手里暂时也没有
AMF协议,这个我不会,很少用Flex来做事情,所以只会用这个,如果有资料,推荐下,有时间我也看看....Thx
4 楼
bnmcvzx
2009-03-22
用不用spring倒不是重要的 试用了amf协议就可以直接返回对象在flex中可以直接使用这个Object 直接o.属性,我感觉这里如果service方法不是为了跟其他地方通用json返回值的话是可以不用的
spring的整合很简单是固定的配置 我手里暂时也没有
spring的整合很简单是固定的配置 我手里暂时也没有
3 楼
yexin218
2009-03-22
bnmcvzx 写道
public function showTotalMark(event:ResultEvent):void{
var marks:Object= JSON.decode(event.result as String);
note.text = marks.name + marks.mark;
}
不知道这里为什么非要用json在来回转下
你在spring方法中直接返回一个对象 mark
然后在flex这里直接mark.name mark.mark
这样不是更方便更有效率编码量也更少吗
还有请问你有spring和Blazeds这方面的资料吗,有时间我看看,还有你用过那个Flex框架叫com开头的好像.
2 楼
yexin218
2009-03-22
bnmcvzx 写道
public function showTotalMark(event:ResultEvent):void{
var marks:Object= JSON.decode(event.result as String);
note.text = marks.name + marks.mark;
}
不知道这里为什么非要用json在来回转下
你在spring方法中直接返回一个对象 mark
然后在flex这里直接mark.name mark.mark
这样不是更方便更有效率编码量也更少吗
哦,为什么你一定要用spring呢,好像Blazeds和spring有一个整合的吧。遗憾的是,我不会。方法很多,目的只有一个。有机会多请教spring啊
1 楼
bnmcvzx
2009-03-22
public function showTotalMark(event:ResultEvent):void{
var marks:Object= JSON.decode(event.result as String);
note.text = marks.name + marks.mark;
}
不知道这里为什么非要用json在来回转下
你在spring方法中直接返回一个对象 mark
然后在flex这里直接mark.name mark.mark
这样不是更方便更有效率编码量也更少吗
var marks:Object= JSON.decode(event.result as String);
note.text = marks.name + marks.mark;
}
不知道这里为什么非要用json在来回转下
你在spring方法中直接返回一个对象 mark
然后在flex这里直接mark.name mark.mark
这样不是更方便更有效率编码量也更少吗
发表评论
-
Rounded Colorized Image Borders
2009-05-16 22:24 1088This week I ran across a really ... -
Flex使用自定义皮肤和字体
2009-03-29 14:57 4246首先介绍两个Flex皮肤网站: 1. Skins and Th ... -
Flex--XML转换成ArrayCollection
2009-03-28 23:24 9676xml数据: <?xml version="1 ... -
Flex使用弹出窗口为DataGrid添加新数据
2009-03-28 21:01 2688经常在Demo中会看到列表,表格等方式来显示数据。当然有时候也 ... -
关于Flex使用Blazeds连接Java后台的一个注意笔记
2009-03-24 16:49 2223今天在做Flex程序测试的时候,发现之前可以通过Blazeds ... -
Flex-设置DataGrid被选择行的风格
2009-03-22 20:54 7218这里例子将展示如何使用用户自定义的item renderer来 ... -
Flex--主程序与弹出窗口之间传递数据
2009-03-20 23:08 2684主程序:TitleWindowDataTest.mxml & ... -
Flex中显示手型鼠标
2009-03-06 21:40 5228有些时候,我们需要在Flex组件上--Label或者Butto ... -
Flex与JSON及XML的互操作
2009-03-01 17:18 1925作者 Jack Herrington 译者 张凯 ... -
Flex代码格式化插件
2009-03-01 16:52 2750在7Yue 那里看到这个轻巧实用的Eclipse插件,它可以 ... -
Flex-CUBlog排行榜解析
2008-07-29 20:55 1984不知道为什么一直有一个想法把CUBlog排行榜的数据提取出来放 ... -
使用Flex,Java,Json更新Mysql数据【高级篇】
2008-06-24 20:21 5845前面已经介绍如何使用Flex,java,json来更新dat ... -
Flex+Java Servlet文件上传实例
2008-06-23 21:05 20313资源都是来自网上。本实例将展示使用Flex和java serv ... -
Flex和Jsp创建用户登入系统
2008-06-22 16:16 4307在开始之前我们先来看下效果:【userName==passwo ... -
Flex中嵌入Google地图
2008-06-18 22:29 5985在我们开始之前,先来看一个例子:http://scriptpl ... -
Flex程序发布
2008-06-17 23:32 4019当你写好了一个Flex程序,想要按照某种方式发布。比如我们在 ... -
Flex自定义Alert窗口显示位置
2008-06-16 18:25 6347好像Flex3也没有找到可以直接使用的(x,y)的方法来指定A ... -
Flex支持滑轮滚动
2008-06-16 18:23 3451有些时候需要在Flex界面中支持鼠标的滑轮滚动功能,比如通过滑 ... -
Flex实现简单的Email发送
2008-06-14 16:35 4396本文主要介绍和实现怎么使用Flex-java来实现Em ... -
Flex创建可编辑以及分页的DataGrid
2008-06-13 16:32 14890之前那篇文章:使用Flex,Java,Json更新Mys ...
相关推荐
### Flex使用JSON格式与Java通信知识点详解 #### 一、背景介绍 随着互联网技术的发展,跨平台、跨语言之间的通信成为开发中常见的需求之一。在本文档中,我们将深入探讨如何利用Flex框架通过JSON(JavaScript ...
本篇文章将深入探讨如何使用`RemoteObject`与Java进行JSON格式的数据交换,以便更好地理解和应用这一技术。 首先,`RemoteObject`是Flex框架中的一个关键组件,它允许Flex应用通过AMF(Action Message Format)协议...
本文将深入探讨Flex框架如何利用这两种格式进行数据交互,同时通过实例展示如何在Flex应用中与Java服务器端进行通信。 #### Flex与JSON及XML:互操作性概述 Flex是一个强大的框架,允许开发者通过MXML语言(一种...
3. **互操作性**:Flex与JSON、XML之间的数据交换和处理能力,使得Flex能够灵活地与不同后端服务进行通信。 #### 深入理解Flex与JSON及XML的互操作 Flex的应用开发中,与JSON和XML的互操作是实现动态数据加载和...
Flex与Java通信是Web开发中的一个重要领域,它允许前端用户界面(UI)通过Flex与后端Java服务进行数据交换和功能调用。Flex是一种基于ActionScript的富互联网应用程序(RIA)开发框架,而Java作为服务器端语言,提供...
3. **数据序列化与反序列化**:由于Flex和Java可能使用不同的数据类型,因此在通信过程中通常需要将数据转换为通用格式,如JSON或XML。Flex可以使用ObjectSerializer进行序列化和反序列化,而Java则有多种选择,如...
在Flex应用中,我们通常使用HTTP服务(如 BlazeDS 或 AMF)来与Java后端进行通信。BlazeDS是Adobe提供的一个开放源代码项目,它支持多种消息协议,包括AMF(Action Message Format)和HTTP/HTTPS。AMF是一种二进制...
总之,Flex与Java等后端系统进行数据交互时,通过使用FlexJSON这样的库,可以方便地进行JSON的序列化和反序列化,实现数据的高效传输。理解并掌握这些工具和技巧,对于开发健壮的Flex应用程序至关重要。
5. **Flash Remoting**:虽然不是Flex3与Java通信的首选方式,但Flash Remoting(通过NetConnection和NetStream类)仍然可用于与服务器端进行实时数据交换,不过它通常用于Flash Player而不是Flex。 6. **Security*...
Flex与Java通信是Web开发中的一个重要技术领域,它涉及到客户端与服务器端的交互。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,主要用于创建动态、交互性强的用户界面。...
3. HTTP服务:Flex可以与Java服务器通过HTTP进行通信,发送XML或JSON数据。这种通信方式相对简单,但效率较低,适合轻量级应用。 4. WebService:Java可以通过SOAP或RESTful WebService提供API,Flex客户端可以调用...
通过以上介绍,我们可以理解Flex如何使用`HTTPService`组件与Java后台进行通信,包括配置服务、发送请求和处理响应。在实际项目中,还需要考虑安全、性能优化以及错误处理等方面的问题。理解这一通信机制对于构建...
总结起来,Flex3与Java的低数据量通信可以通过`HTTPService`组件来实现,选择不同的数据格式(如text、JSON或XML)取决于具体的应用需求和数据结构。在实际项目中,可能还需要考虑安全性、性能优化等因素。对于大型...
Flex与Java的通信是Web应用程序开发中的一个重要环节,特别是在构建富互联网应用(RIA)时。Blazeds作为Adobe官方推出的中间件,为Flex与Java之间的数据交换提供了强大的支持。本篇将深入探讨Blazeds RemoteObject...
6. 异步与同步调用:Flex4与Java通信通常是异步的,这意味着客户端不会阻塞等待服务器响应,而是注册回调函数处理结果。这种方式提高了用户体验,但也增加了编程复杂性,需要处理错误和状态变化。 7. 错误处理:在...
1. **Flex与Java通信的基础概念** - **Flex**:基于Adobe Flash Player或Adobe AIR运行的富客户端技术,用于创建交互式的、具有动态视觉效果的Web应用。 - **HTTPService**:Flex中的一个组件,允许客户端通过HTTP...
在本文中,我们将深入探讨如何使用BlazeDS实现Flex与Java之间的通信,以及其核心功能和工作原理。 1. **Remoting服务** BlazeDS的Remoting服务允许Flex客户端直接调用Java后端的远程方法,仿佛这些方法是本地的。...
通过学习和实践创建Flex与Java通信项目,开发者可以构建出高效、可扩展的RIA应用,充分利用Flex的用户体验优势和Java的强大后端能力。同时,Blazeds提供的Remoting和Message Brokering机制为跨平台的分布式系统开发...