普通情况下我们使用HttpService只是很简单地新建一个Object然后把它Send出去,然后诸如a=1&b=2的的url请求就被发到了Sever端,然后Sever端又默默地把请求转化….在原始时代,这样做好像没什么不妥,甚至在一个Form里面包含大于7条的请求也是乖乖地使用
Var o:Object = new Object();
o.a = 1;
o.b = 2;…
o.z=26;
这样来解决。
嗯。一条请求如此,如果我要同时删除10条数据呢?难不成,发10次请求?失败的话,我们是撤销,还是重发?要是同一个页面要添加10条类似的数据和几条完全不同的数据呢?你的HttpService又应该如何设计?用For循环的事件链吗?失败了又怎么办?设置标志位好像很好玩~
但是xml出现了,我们为什么不把xml在Flex的华丽持续延续下去,并且在服务器端进行更加舒坦的xml解析?我们来延续xml的华丽吧!
话不多说,我们新建一个工程,来尝试一下xml的威力…
我们先很不责任地拖一个Hbox,里面嵌套五个Vbox。每个Vbox里面又有三个TextInput。
然后分别给它们命名为name1,count1,total1,第二个vbox里面就为name2,count2,total2…依此类推。
然后我们在MX:Application的标签下定义一个XML的数据模型并且对里面的内容进行数据绑定…
<mx:XML id="AddXML" format="e4x">
<request>
<item id="1">
<name>{name1.text}</name>
<count>{count1.text}</count>
<TotalPrice>{TotalPrice1.text}</TotalPrice>
</item>
<item id="2">
<name>{name2.text}</name>
<count>{count2.text}</count>
<TotalPrice>{TotalPrice2.text}</TotalPrice>
</item>
<item id="3">
<name>{name3.text}</name>
<count>{count3.text}</count>
<TotalPrice>{TotalPrice3.text}</TotalPrice>
</item>
<item id="4">
<name>{name4.text}</name>
<count>{count4.text}</count>
<TotalPrice>{TotalPrice4.text}</TotalPrice>
</item>
<item id="5">
<name>{name5.text}</name>
<count>{count5.text}</count>
<TotalPrice>{TotalPrice5.text}</TotalPrice>
</item>
</request>
</mx:XML>
跟着我们加入<script>字段:时间有限,请参照下面代码:
<mx:Script>
<![CDATA[
import mx.rpc.http.mxml.HTTPService;
public var abs:HTTPService;
public function init():void
{
abs = new HTTPService();
abs.url="http://192.168.0.1:88/Web/admin/xml";
abs.method="POST";
abs.contentType="application/xml";
abs.send(AddXML);
}
]]>
</mx:Script>
需要注意的就是我这里使用了POST的方法和设定了它的contentType为XML。设定了这个的话我们就可以对Sever端发送XML数据了。
分享到:
相关推荐
在Flex应用中,与后台数据交换是实现功能的关键部分,尤其对于处理数据库数据的集成至关重要。本文将详细探讨Flex如何通过RemotingObject与后台进行通信。 一、Flex与后台通讯的基础 1. BlazeDS和LCDS:Flex与后台...
根据提供的标题、描述、标签及部分内容,本文将详细介绍Flex与后台进行交互的三种主要方法:通过FlashVars传递参数、利用HttpService服务以及采用URLLoader组件。这些方法在Flex开发中非常常见,对于实现数据的前后...
当我们需要向后台传递参数时,有多种方法可以实现,这里主要介绍两种常见的方法。 ### 方法1:使用URLVariables对象 URLVariables类是Flex中用于将变量序列化为URL查询字符串的工具。这种方法适用于GET和POST请求...
### Flex与Java通过实体传递数据 #### 背景介绍 在现代Web应用开发中,前端与后端之间的数据交互是必不可少的一部分。Flex作为一种流行的富客户端技术,常用于构建复杂的用户界面;而Java则因其强大的服务器端处理...
4. **绑定XML数据**:在描述中提到绑定了XML数据,这可能意味着在Flex应用中,XML数据被用于传递或者展示。Flex提供了`mx.rpc.http.HTTPService`组件,可以方便地从Servlet获取XML数据。你可以通过设置其`result...
使用 Java 作为服务器端,后台提供的数据是 XML 文档格式的,无论是 JSP 页面还是 Servlet 都可以进行信息的传递。这种方法的优点是易于使用,适用于数据量不是很大的情况,因此一般较简单的 Flex 应用都采用这种...
2. **WebService**:Flex支持与SOAP Web服务集成,允许调用远程方法并传递复杂的数据结构。 3. ** BlazeDS 和 LiveCycle Data Services (LCDS)**:这两者是Adobe提供的中间件,它们提供AMF协议,允许Flex应用程序与...
触发事件后,向后台发送请求并更新数据显示。 7. **优化性能**:考虑到大量数据可能导致性能问题,可以考虑在服务器端缓存部分数据,或者使用懒加载策略,只在用户滚动到可视区域时才加载更多数据。 8. **测试和...
XML文档可以轻松地从数据库获取数据,经过处理后传递给客户端的Flex应用程序,或者接收客户端修改后的数据并存回数据库。 在Flex开发中,XML数据文档可以直接绑定到用户界面组件,简化了数据展示和更新的过程。例如...
本文将深入探讨Flex与后台交互的三种主要方法:HTTPService、WebService和URLLoader,并重点关注基于WebService的交互方式。 一、HTTPService HTTPService是Flex中用于与HTTP服务器进行数据交换的主要组件。它基于...
BlazeDS是一个由Adobe提供的开源项目,主要功能是实现Java应用程序与Flex客户端之间的远程调用(Remoting)和Web消息传递(Messaging)。通过BlazeDS,我们可以轻松地在浏览器中的Flex应用和后端Java服务之间建立...
2. **构建XML数据**:在发送请求前,FLEX端可能需要构建一个XML对象,包含要传递给服务器的数据。XML因其结构清晰、易于解析的特性,常被用于数据交换。 3. **发送请求**:调用HTTPService的send()方法,将XML数据...
在web.xml中,`MessageBrokerServlet`是BlazeDS的核心组件,负责处理Flex客户端与Java后台之间的消息交换。它的初始化参数`services.configuration.file`指定了services-config.xml的位置,该文件定义了服务端的各个...
Flex提供了强大的状态管理机制,如ViewStack和FormNavigator,可以轻松处理不同页面间的交互和数据传递。同时,ModelLocator和ServiceLocator设计模式可以帮助管理与后端交互的数据和服务。 8. **安全性考虑** 当...
- Flex客户端通过HTTP服务调用Java后台接口,传递DataGrid的数据。 - 使用AMF(Action Message Format)或者HTTP POST请求,将Flex中的数据发送到服务器。 - Flex端处理响应,接收到Excel文件的二进制流后,可以...
LCDS为Flex应用程序提供与Java后端之间的高效通信,支持数据绑定、实时消息传递(RTMP)和多种数据服务。 在本教程中,我们将学习如何利用Eclipse插件(FlexBuilder3 beta2)创建Flex的LCDS工程,并集成Java应用...
Flex作为表示层,通常负责用户界面的展示,而Java则处理后台逻辑和服务端数据。为了实现两者之间的通信,我们需要Adobe公司的开源项目Blazeds。 Blazeds是一个基于服务器的Java远程控制(remoting)和Web消息传递...
Flex发送的数据通常以XML或JSON格式,Java后台解析这些数据并执行相应的业务逻辑,然后返回响应数据。 3. **配置HTTPService** - **定义服务**:在Flex项目中,首先需要在MXML文件(如httpService.mxml)中声明`...
此外,BlazeDS还支持消息通道(Message Channels),如Topic和PollingDuplex,这些通道允许实现发布/订阅模式的消息传递,进一步增强Flex与Spring之间的通信能力。 在实际开发中,我们还需要考虑安全性问题。例如,...