- 浏览: 553905 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
这次说的URLRequest是ActionScript和服务端通信的最基本方式
要实现ActionScript与服务端交互, 首先必须知道以下几个类:
URLRequest类
记录请求服务端的URL信息, 给URLLoader进行发送操作.
URLVariables类
保存向服务端请求所需的参数, 一般用于POST方式传输,GET方式传输不需要使用.
URLRequestMethod类
该类只有两个静态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader类
真正与服务端打交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest("http://localhost");
//默认为URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
事件及返回值的处理
loader.addEventListener( //给loader对象添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
{
//服务端返回的数据是保存在loader的data里,通过以下语句可以得到
trace(URLLoader(e.target).data );//在监听器里处理服务端返回的数据
//complete
// process the data;
}
);
loader.addEventListener( //IOError监听器
IOErrorEvent.IO_ERROR,
//临时监听器,IO错误的处理在该函数中处理
function(e: IOErrorEvent): void {/* process the err;*/}
);
loader.load(request);//把request对象发送到服务端.当请求完成,则会自动触发COMPLETE事件
下面写一个具体的代码示例
mxml的具体代码
Xml代码 复制代码 收藏代码
处理程序为
好了,这次的URLRequest方式就到此为止了
转载连接:http://javacrazyer.iteye.com/blog/702813
要实现ActionScript与服务端交互, 首先必须知道以下几个类:
URLRequest类
记录请求服务端的URL信息, 给URLLoader进行发送操作.
URLVariables类
保存向服务端请求所需的参数, 一般用于POST方式传输,GET方式传输不需要使用.
URLRequestMethod类
该类只有两个静态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader类
真正与服务端打交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest("http://localhost");
//默认为URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
事件及返回值的处理
loader.addEventListener( //给loader对象添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
{
//服务端返回的数据是保存在loader的data里,通过以下语句可以得到
trace(URLLoader(e.target).data );//在监听器里处理服务端返回的数据
//complete
// process the data;
}
);
loader.addEventListener( //IOError监听器
IOErrorEvent.IO_ERROR,
//临时监听器,IO错误的处理在该函数中处理
function(e: IOErrorEvent): void {/* process the err;*/}
);
loader.load(request);//把request对象发送到服务端.当请求完成,则会自动触发COMPLETE事件
下面写一个具体的代码示例
mxml的具体代码
Xml代码 复制代码 收藏代码
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.utils.URLUtil; protected function myFlex_resultHandler(event:ResultEvent):void { var name:String=event.result as String; Alert.show(name); } // protected function btnSend_clickHandler(event:MouseEvent):void // { // // myFlex.sayHello(txtName.text); // } protected function button1_clickHandler(event:MouseEvent):void { var v:URLVariables = new URLVariables("name=jacky&age=35&address=HongKong China"); /* 也可以是这种方式 var vars: URLVariables = new URLVariables (); vars["varName"] = varValue; //把参数键,值对放到vars对象中. vars["var2Name"] = var2Value; */ var r:URLRequest = new URLRequest(); r.url = "http://localhost:8080/Flex4BlazeDSWeb/test.do"; r.method = URLRequestMethod.POST; r.data = v; var l:URLLoader = new URLLoader(); l.load(r); l.addEventListener(Event.COMPLETE,txtCompleteHandler); //注册请求完成后 响应获取数据事件方法 //labMsg.alpha = 1; } private function txtCompleteHandler(e:Event):void { var l:URLLoader = URLLoader(e.target); /* URLUtil的stringToObject方法解释 从字符串返回对象。字符串包含 name=value 对,它们成为返回对象的动态属性。这些属性对由指定的 separator 分隔。该方法可转换数字、布尔值、数组(由“[]”定义)以及子类(由“{}”定义)。默认情况下,%XX 格式的 URL 模式将转换为相应的字符串字符。 例如: var s:String = "name=Alex;age=21"; var o:Object = URLUtil.stringToObject(s, ";", true); 返回对象:{ name: "Alex", age: 21 }。 */ //直接获取返回值内容: URLLoader(e.target).data Alert.show(l.data); var o:Object = URLUtil.stringToObject(l.data,";",true); //使用URLUtil对将数据进行反序列化以方便使用 txtName.text = o.name; txtAge.text = o.age; txtAddress.text = o.address; //labMsg.alpha = 0; } ]]> </fx:Script> <fx:Declarations> <!--请把不可视的组件元素例如服务的,值对象的放在声明里面 Place non-visual elements (e.g., services, value objects) here <s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />--> </fx:Declarations> <s:Panel x="77" y="35" width="198" height="231" title="www.accptecg.com flex4"> <s:TextInput x="47" y="102" id="txtAddress"/> <s:TextInput x="47" y="72" id="txtAge"/> <s:TextInput x="47" y="37" id="txtName"/> <!--<s:Button x="168" y="38" label="发送" id="btnSend" click="btnSend_clickHandler(event)"/>--> <s:Button x="47" y="154" label="按钮" click="button1_clickHandler(event)"/> <s:Label x="0" y="47" text="Name"/> <s:Label x="4" y="81" text="Age" height="13"/> <s:Label x="4" y="115" text="Address" height="13"/> </s:Panel> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.utils.URLUtil; protected function myFlex_resultHandler(event:ResultEvent):void { var name:String=event.result as String; Alert.show(name); } // protected function btnSend_clickHandler(event:MouseEvent):void // { // // myFlex.sayHello(txtName.text); // } protected function button1_clickHandler(event:MouseEvent):void { var v:URLVariables = new URLVariables("name=jacky&age=35&address=HongKong China"); /* 也可以是这种方式 var vars: URLVariables = new URLVariables (); vars["varName"] = varValue; //把参数键,值对放到vars对象中. vars["var2Name"] = var2Value; */ var r:URLRequest = new URLRequest(); r.url = "http://localhost:8080/Flex4BlazeDSWeb/test.do"; r.method = URLRequestMethod.POST; r.data = v; var l:URLLoader = new URLLoader(); l.load(r); l.addEventListener(Event.COMPLETE,txtCompleteHandler); //注册请求完成后 响应获取数据事件方法 //labMsg.alpha = 1; } private function txtCompleteHandler(e:Event):void { var l:URLLoader = URLLoader(e.target); /* URLUtil的stringToObject方法解释 从字符串返回对象。字符串包含 name=value 对,它们成为返回对象的动态属性。这些属性对由指定的 separator 分隔。该方法可转换数字、布尔值、数组(由“[]”定义)以及子类(由“{}”定义)。默认情况下,%XX 格式的 URL 模式将转换为相应的字符串字符。 例如: var s:String = "name=Alex;age=21"; var o:Object = URLUtil.stringToObject(s, ";", true); 返回对象:{ name: "Alex", age: 21 }。 */ //直接获取返回值内容: URLLoader(e.target).data Alert.show(l.data); var o:Object = URLUtil.stringToObject(l.data,";",true); //使用URLUtil对将数据进行反序列化以方便使用 txtName.text = o.name; txtAge.text = o.age; txtAddress.text = o.address; //labMsg.alpha = 0; } ]]> </fx:Script> <fx:Declarations> <!--请把不可视的组件元素例如服务的,值对象的放在声明里面 Place non-visual elements (e.g., services, value objects) here <s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />--> </fx:Declarations> <s:Panel x="77" y="35" width="198" height="231" title="www.accptecg.com flex4"> <s:TextInput x="47" y="102" id="txtAddress"/> <s:TextInput x="47" y="72" id="txtAge"/> <s:TextInput x="47" y="37" id="txtName"/> <!--<s:Button x="168" y="38" label="发送" id="btnSend" click="btnSend_clickHandler(event)"/>--> <s:Button x="47" y="154" label="按钮" click="button1_clickHandler(event)"/> <s:Label x="0" y="47" text="Name"/> <s:Label x="4" y="81" text="Age" height="13"/> <s:Label x="4" y="115" text="Address" height="13"/> </s:Panel> </s:Application>
处理程序为
public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取URLResuest请求回的参数 返回数据用;分隔以方便Flex对数据进行序列化 String rs =new String("name="+request.getParameter("name")+";age="+request.getParameter("age")+";address="+request.getParameter("address")); System.out.println(request.getParameter("name")); response.setContentType("text/plain"); System.out.println(rs); response.getWriter().write(rs); //request.getRequestDispatcher("/index.jsp").forward(request, response); } } public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取URLResuest请求回的参数 返回数据用;分隔以方便Flex对数据进行序列化 String rs =new String("name="+request.getParameter("name")+";age="+request.getParameter("age")+";address="+request.getParameter("address")); System.out.println(request.getParameter("name")); response.setContentType("text/plain"); System.out.println(rs); response.getWriter().write(rs); //request.getRequestDispatcher("/index.jsp").forward(request, response); } }
好了,这次的URLRequest方式就到此为止了
转载连接:http://javacrazyer.iteye.com/blog/702813
发表评论
-
Flex4 模块 [转载]
2012-11-05 09:30 0使用flex4模块(1):传递数据到模块 在主程序与模块 ... -
Flex4 List改变了dataProvider,怎么锁定选中Item【转载】
2012-11-05 09:29 1143sfList.dataProvider = sfData; i ... -
解决flex嵌入字体导致文件过大的问题[转载]
2012-11-05 09:25 0众所周知,Flex嵌入字体 ... -
flex DataGrid 行列颜色设置
2012-05-06 20:00 9162群里一哥们问了个问题,就写了个这个demo DataGrid ... -
flex4 Spark DataGrid,title的字体居中
2012-03-20 21:23 6287【原创】flex4 Spark DataGrid,title的 ... -
flex4 Application backgroundImage
2012-03-10 15:13 2946群里一哥们问我 f4 设置 Application 的 bac ... -
flex 无法将“<mx:>”解析为组件执行.解决办法:
2012-03-09 16:34 8309flex项目导入早期版本 无法将“<mx:******& ... -
flex component 去掉点击加亮边框
2012-03-09 16:35 1111群里有人问我怎么去掉TextInput的文本框加亮。写下来 ... -
flex ProgressBar skin 修改
2012-03-09 16:36 2982f3的形式修改border: 其中 barSkin 是外边框 ... -
flex Draggable Flex Components
2012-03-08 20:38 1043Creating Resizable and Draggabl ... -
flex 3d云标签
2012-03-08 20:37 1644来自:http://downloads.wordpress.o ... -
AS html 形式超链接设置
2012-03-08 20:36 1661lbl.htmlText = " <b& ... -
flex IViewCursor 的应用
2012-03-08 20:35 1112IViewCursor 的应用 demo 效果图:可以上下 ... -
f4 spark 占位控件
2012-03-08 20:33 1012halo的占位控件。<mx:Spacer width=& ... -
halo的grid DataGridColumn itemRenderer 混用 spark 组件
2012-03-03 14:20 1430halo的grid DataGridColumn itemRe ... -
flex DeferredInstanceFromFunction 使用
2012-03-02 21:54 1601flex DeferredInstanceFromFuncti ... -
flex ContextMenuItem 根据状态隐藏选项
2012-02-27 18:28 1403因群里一个群员的要求,写了这个demo,代码粗糙,根据一个控件 ... -
动态设置itemRenderer
2012-02-18 19:34 0<mx:TileList id="tl&quo ... -
【转】解决RemoteClass alias信息丢失
2012-02-18 19:15 807问题发生场景:flex程序中存在多个module都调用一个标记 ... -
flex tree icon
2012-02-14 19:53 33751.tree 改变每一项的 icon图标 <?xml ...
相关推荐
简单的 flex HttpService例子,可供初学者参考
在Java开发中,Flex HttpService是一个强大的工具,用于在Adobe Flex客户端与服务器之间进行数据通信。这个服务允许Flex应用程序通过HTTP协议发送请求到后端服务器,并接收响应数据。本篇文章将深入探讨如何在Java...
Flex中的HTTPService组件提供了灵活的方式与后台进行数据交互。通过URLVariables对象或`<mx:request/>`标签,我们可以方便地传递参数给服务器。理解这两种方法对于开发Flex应用程序并与服务器进行数据交换至关重要。...
帶有ASP.NET的Flex HTTPService 本教程旨在演示在帶有ASP.NET的Flex 2+中HTTPService功能的使用。 Adobe Flex中有許多方法可以與ASP.NET(或簡單地說,服務器端語言)進行通信。 HttpService,WebService,WebORB...
在深入探讨“Flex HTTPService实例”这一主题时,我们首先需要理解Flex框架的基本概念以及HTTPService组件在其中扮演的角色。Flex是一种用于构建跨平台的、高性能的桌面和移动应用程序的软件开发工具包(SDK),由...
本文将详细介绍如何使用Flex的HTTPService组件与Java服务进行交互,并获取Java端的返回值。首先,让我们了解一下Flex和Java通信的基本原理。 Flex是一款基于ActionScript 3的开源框架,用于创建富互联网应用程序...
在提供的压缩包文件中,可能包含了一个名为`demo`的示例项目,该项目展示了如何在实际应用中使用上述步骤来实现Flex4的`HTTPService`来提取XML数据。通过查看和运行这个示例,你将更深入地理解如何在Flex4中使用`...
本篇文章将深入探讨如何利用Flex 4.0中的HttpService和WebService组件与Java Struts2框架构建的服务器进行通信。 首先,我们来看HttpService。HttpService是ActionScript 3.0中的一个类,用于发起HTTP请求,通常...
在这个“Flex+HTTPService 例子”中,我们将探讨如何使用Flex与Java后台通过HTTPService进行数据交互。 首先,我们需要了解Flex中的HTTPService组件。HTTPService允许开发者发送HTTP请求到服务器,并接收响应数据。...
Flex中的HTTPService是Flex应用程序与后端服务器进行通信的一种方式,尤其适用于与Java服务交互。在选择使用HTTPService还是BlazeDS的Remote Object时,主要考虑的是灵活性和效率。Remote Object提供了更便捷的对象...
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
它是一种优化Flex应用中HTTPService管理的方式,旨在减少重复代码并简化多连接的处理。通过动态链接库,开发者可以创建一个中心化的服务管理器,这个管理器负责处理所有的HTTP请求,而不是为每一个请求创建一个新的...
4. **Flex前端开发**:使用FlexHttpService组件从服务器端获取XML数据,并使用e4x进行数据绑定和显示。 #### 四、开发之前的准备工作 ##### 1. 设置XMLBean的环境变量 - 首先需要安装Java环境,并设置JAVA_HOME...
在这个场景中,Flex使用`HttpService`组件向Java的Servlet发送键值对形式的数据,而Servlet负责处理这些请求并返回响应数据。下面将详细介绍这一过程。 首先,Flex中的`HttpService`是ActionScript 3(AS3)的一个...
根据提供的文件信息,我们可以深入探讨FLEX中的_HTTPService组件及其使用方法。此组件主要用于与Web服务进行通信,例如从服务器获取或发送数据。下面将详细解释如何使用_HTTPService组件,并通过示例代码来展示其...
1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置URL属性为SpringMVC的Controller处理路径,method属性为POST或GET,表明请求类型。 2. 设置XML数据:使用XML类创建XML对象...
在Flex中,`HTTPService`组件是用于与服务器进行数据交换的重要工具,特别是对于与Java后台进行通信时。本篇文章将深入探讨Flex与Java后台通过`HTTPService`通信的原理、配置和实践。 1. **HTTPService组件介绍** ...
这个项目展示了如何通过HTTPService组件在Flex应用中实现远程调用Java服务,以完成数据的交换和处理。Flex 4是Adobe AIR和Flash Player支持的ActionScript 3.0开发框架,它提供了一个强大的UI组件库和数据绑定机制,...
本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 首先,让我们了解Flex中的XML类。XML类是ActionScript 3.0中用于处理XML文档的主要工具,...