转载:http://daoger.iteye.com/blog/205894
用actionscript给服务器请求添加参数难免会很麻烦,使用mx:request标签就可以解决这一问题,可以把他
嵌套到HTTPService标签中实现参数的提交。如下例所示:
- <mx:request>
-
<txtPara>{txtPara.text}</txtPara>
-
</mx:request>
<mx:request>
<txtPara>{txtPara.text}</txtPara>
</mx:request>
其中txtPara是发送到服务器端参数的名城,标签体是参数值,而标签体的值就是下方文本框的值。
以下是完整的mxml文件:
- <?xml version="1.0" encoding="utf-8"?>
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
-
<mx:Script>
-
<![CDATA[
- import mx.rpc.events.ResultEvent;
- import mx.controls.Alert;
- private function httpHandle(e:ResultEvent):void
- {
- Alert.show(e.result.Result);
- }
- ]]>
-
</mx:Script>
-
<mx:HTTPService id="myHttp" url="http://localhost:8080/myflex/http" showBusyCursor="true" result="httpHandle(event);" useProxy="false">
-
<mx:request>
-
<txtPara>{txtPara.text}</txtPara>
-
</mx:request>
-
</mx:HTTPService>
-
<mx:Panel title="TEST HTTPService" width="368" height="140" x="78" y="30" layout="absolute">
-
<mx:Label text="PARA" x="110" y="26"/>
-
<mx:TextInput id="txtPara" x="161" y="24" width="95"/>
-
<mx:Label text="The para sent to service is:" x="58" y="53"/>
-
<mx:Label x="126" y="53" id="lblResult"/>
-
<mx:Button label="Submit" click="myHttp.send()" x="277" y="53"/>
-
</mx:Panel>
-
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
private function httpHandle(e:ResultEvent):void
{
Alert.show(e.result.Result);
}
]]>
</mx:Script>
<mx:HTTPService id="myHttp" url="http://localhost:8080/myflex/http" showBusyCursor="true" result="httpHandle(event);" useProxy="false">
<mx:request>
<txtPara>{txtPara.text}</txtPara>
</mx:request>
</mx:HTTPService>
<mx:Panel title="TEST HTTPService" width="368" height="140" x="78" y="30" layout="absolute">
<mx:Label text="PARA" x="110" y="26"/>
<mx:TextInput id="txtPara" x="161" y="24" width="95"/>
<mx:Label text="The para sent to service is:" x="58" y="53"/>
<mx:Label x="126" y="53" id="lblResult"/>
<mx:Button label="Submit" click="myHttp.send()" x="277" y="53"/>
</mx:Panel>
</mx:Application>
在服务器端就可以从request中取到txtPara参数的值,这里没有做过多处理,只是在后端取到这个值又通过xml形式返还到客户端。
这是例子运行的截图:
mx:request组件一般是结合mx:form组件一起使用,flex提供了完备的数据校验功能,如对字符串的校验mx:StringValidator、
对电话号码验证的mx:PhoneNumberValidator、对日期验证的mx:DateValidator、对电子邮件验证的mx:EmailValidator、对邮编验证
的mx:ZipCodeValidator等等。下面这个示例来自Flex的在线文档,主要展示flex的form验证功能,没有数据的提交。
- <?xml version="1.0" encoding="utf-8"?>
-
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
-
<mx:Panel title="Form Container Example" height="75%" width="75%"
-
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
-
<mx:Text width="100%" color="blue"
-
text="Moving from one form field to another triggers the validator."/>
-
<mx:Form width="100%" height="100%">
-
<mx:FormHeading label="Enter values into the form."/>
-
<mx:FormItem label="First name">
-
<mx:TextInput id="fname" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="Date of birth (mm/dd/yyyy)">
-
<mx:TextInput id="dob" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="E-mail address">
-
<mx:TextInput id="email" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="Age">
-
<mx:TextInput id="age" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="SSN">
-
<mx:TextInput id="ssn" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="Zip">
-
<mx:TextInput id="zip" width="200"/>
-
</mx:FormItem>
-
<mx:FormItem label="Phone">
-
<mx:TextInput id="phone" width="200"/>
-
</mx:FormItem>
-
</mx:Form>
-
</mx:Panel>
-
-
<mx:StringValidator source="{fname}" property="text" minLength="4" maxLength="12"/>
-
<mx:PhoneNumberValidator source="{phone}" property="text"/>
-
<mx:DateValidator source="{dob}" property="text"/>
-
<mx:EmailValidator source="{email}" property="text"/>
-
<mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"
-
minValue="18" maxValue="100" domain="int"/>
-
<mx:SocialSecurityValidator source="{ssn}" property="text"/>
-
<mx:ZipCodeValidator source="{zip}" property="text"/>
-
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate Form layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="Form Container Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Text width="100%" color="blue"
text="Moving from one form field to another triggers the validator."/>
<mx:Form width="100%" height="100%">
<mx:FormHeading label="Enter values into the form."/>
<mx:FormItem label="First name">
<mx:TextInput id="fname" width="200"/>
</mx:FormItem>
<mx:FormItem label="Date of birth (mm/dd/yyyy)">
<mx:TextInput id="dob" width="200"/>
</mx:FormItem>
<mx:FormItem label="E-mail address">
<mx:TextInput id="email" width="200"/>
</mx:FormItem>
<mx:FormItem label="Age">
<mx:TextInput id="age" width="200"/>
</mx:FormItem>
<mx:FormItem label="SSN">
<mx:TextInput id="ssn" width="200"/>
</mx:FormItem>
<mx:FormItem label="Zip">
<mx:TextInput id="zip" width="200"/>
</mx:FormItem>
<mx:FormItem label="Phone">
<mx:TextInput id="phone" width="200"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>
<mx:StringValidator source="{fname}" property="text" minLength="4" maxLength="12"/>
<mx:PhoneNumberValidator source="{phone}" property="text"/>
<mx:DateValidator source="{dob}" property="text"/>
<mx:EmailValidator source="{email}" property="text"/>
<mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"
minValue="18" maxValue="100" domain="int"/>
<mx:SocialSecurityValidator source="{ssn}" property="text"/>
<mx:ZipCodeValidator source="{zip}" property="text"/>
</mx:Application>
示例运行的截图:
其他一些入门例子可以参考:甘先生Blog http://www.blogjava.net/gump/articles/22859.html
更多问题请参考Flex的在线文档:http://www.adobe.com/support/documentation/en/flex/
分享到:
相关推荐
<mx:request> <daysBack>30</daysBack> <limit>{cbxNumPosts.value}</limit> </mx:request> </mx:operation> </mx:WebService> 发送请求:wsBlogAggr.getMostPopularPosts.send() 获取结果:wsBlogAggr....
--flex与webservice交互这里调用一个天气预报的webservice--> <s:WebService id="ws" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" fault="ws_faultHandler(event)" result="ws_...
在Flex开发中,前端与后端的数据交互是非常重要的环节。本文将详细介绍使用Flex进行后台交互的两种主要方式:通过`HTTPService`和`URLLoader`来实现与服务器的通信。 #### HTTPService:面向服务的交互方式 `...
`<mx:Image>` 和 `<mx:VBox>` 控件分别显示书籍的封面图片和标题作者信息。 #### 三、使用 MXML 和 ActionScript 定义 ItemRenderer 当需要更复杂的逻辑或交互时,仅依靠 MXML 来定义 ItemRenderer 可能不够。这时...
在IT行业中,FLEX是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 ...
<mx:LineSeries xField="date" yField="value2" displayName="线2数据" lineStroke="#00FF00" /> </mx:series> <!-- 添加数据点标记 --> <mx:horizontalAxis> <mx:CategoryAxis dataProvider="{dataDouble}" ...
该flex应用程序演示了柱状图动态切换数据源 <mx:ColumnChart x="6" y="65" id="columnchart1" showDataTips="true" dataProvider="{list}" height="390" itemClick="onItemClick(event)"> <mx:horizontalAxis> ...
</mx:FormItem> </mx:AddChild> <!-- Set properties on the Panel container and Button control --> <mx:SetProperty target="{loginPanel}" name="title" value="Register" /> <mx:SetProperty target="{...
OpenLayers是一个非常强大的JavaScript库,而OpenScales则是其在ActionScript和Flex中的实现,让开发者能够利用Flex的图形和界面优势,构建具有丰富交互性的地图应用。 至于本地数据,OpenScales同样支持加载和显示...
总之,通过自定义图标和事件处理,Flex的`Tree`控件可以被转化为一个功能强大且高度交互的动态图表工具,适用于多种数据可视化场景。这不仅提升了用户体验,还为数据分析和信息呈现提供了灵活多变的解决方案。
<mx:Script source="include/OLAPAppInFlex.as" /> <mx:Script source="include/Chart.as" /> <mx:Script source="include/FlexBIDataGrid.as" /> <mx:Script source="include/OLAPGridConfigure.as" /> <mx:Style ...
在Flex应用中,_HTTPService通常用于与后端服务器交互,以实现数据的获取或提交等功能。 ### 示例一:使用_HTTPService获取XML数据 **QueryDataSet.xml** 这是一个XML文件,包含了简单的商品信息列表。文件结构...
- **添加组件**: 在此状态下,通过 `<mx:AddChild>` 添加了一个确认输入框 (`<mx:FormItem>`)。 - **修改属性**: 通过 `<mx:SetProperty>` 修改了登录面板 (`{loginPanel}`) 和登录按钮 (`{loginButton}`) 的标题和...
flex 对时间的关注<mx:Script> <![CDATA[ // Event handler for the DateField change event. private function dateChanged(date:Date):void { if (date == null) selection.text = "Date selected: "; ...
本文档详细介绍了Flex中的三种数据绑定方式:MXML中的大括号({})语法、MXML中的`<mx:Binding>`标记以及ActionScript中的BindingUtils系列方法。 #### 1. MXML中的大括号({})语法 最简单的一种数据绑定方式是...
### Flex与JSON及XML的互操作 Flex作为一种强大的开源框架,允许开发者利用MXML(一...无论是使用XML还是JSON,Flex都提供了一套强大的工具和API来处理这些数据,从而帮助开发者构建出功能丰富且交互性强的应用程序。
</mx:request> <esri:ScriptBlock> <![CDATA[ function handleResult(result) { // 处理服务返回的结果 } ]]> </esri:ScriptBlock> </mx:HTTPService> ``` 通过以上总结,我们可以了解到如何使用ArcGIS ...
<mx:Panel width="262" height="291" layout="absolute" title="ʹԃMXML¶¨ӥة¼�<mx:FormItem label="ѕ Ļ" x="17.5" y="70" width="206"> <mx:TextInput id="sName" width="127"/> </mx:FormItem> <mx:...
在Flex开发中,数据网格(DataGrid)是一种常用的组件,用于展示结构化的数据。当我们需要在DataGrid中显示序列号时,通常会利用`itemRenderer`功能来实现。`itemRenderer`是Flex提供的一种自定义数据显示的方式,...