Flex數(shù)據(jù)訪問(wèn)和綁定概述
在學(xué)習(xí)Flex的過(guò)程中,難免會(huì)遇到Flex數(shù)據(jù)訪問(wèn)和綁定問(wèn)題,這里和大家分享一下他們的概念,F(xiàn)lex使你能在客戶端匯集信息,并提供三種不同的數(shù)據(jù)服務(wù)組件,以滿足對(duì)服務(wù)提供者進(jìn)行特定Flex數(shù)據(jù)訪問(wèn)的需求。
Flex數(shù)據(jù)訪問(wèn)
MacromediaFlex為面向服務(wù)器架構(gòu)(SOA–service-orientedarchitecture)而開發(fā)。在這一模型中,應(yīng)用通過(guò)與分散在不同地方的服務(wù)進(jìn)行交互,來(lái)完成自己的任務(wù)。例如,如果創(chuàng)建一個(gè)在線旅行應(yīng)用,你需要與不同的服務(wù)進(jìn)行交互:全球旅館預(yù)定服務(wù),目的信息服務(wù),天氣服務(wù)等等。這些服務(wù)可能以不同的機(jī)制來(lái)提供,并且來(lái)自不同的地方。Flex使你能在客戶端匯集信息,并提供三種不同的數(shù)據(jù)服務(wù)組件,以滿足對(duì)服務(wù)提供者進(jìn)行特定Flex數(shù)據(jù)訪問(wèn)的需求:WebService組件,HTTPService組件(一般使用XML通過(guò)HTTP進(jìn)行Flex數(shù)據(jù)訪問(wèn))以及RemoteObject組件。MXML允許你用相應(yīng)的WebService,HTTPService,andRemoteObject標(biāo)簽來(lái)設(shè)置與服務(wù)的連接。
Flex數(shù)據(jù)綁定
在許多語(yǔ)言中,如何在用戶界面控件中顯示后臺(tái)數(shù)據(jù),是件令人頭疼的事情,而且非常容易出錯(cuò)。收集用戶在控件中輸入的數(shù)據(jù),并傳給遠(yuǎn)程服務(wù)也常常是件乏味的事情。
Flex的特色之一,就是提供了雙向的Flex數(shù)據(jù)綁定機(jī)制:你可以將用戶界面控件綁定到服務(wù)調(diào)用的數(shù)據(jù)結(jié)果集上,反過(guò)來(lái),也可以將服務(wù)的參數(shù)綁定到用戶界面控件輸入的值上。
下面是一個(gè)簡(jiǎn)單的股票報(bào)價(jià)應(yīng)用。例子使用了WebService標(biāo)簽來(lái)設(shè)置與XMMethods提供的股價(jià)web服務(wù)進(jìn)行連接。這個(gè)例子闡明了Flex的雙向綁定功能。getQuote方法的symbol輸入?yún)?shù)被綁定到symbolTextInput組件上。quote標(biāo)簽被綁定到getQute方法的調(diào)用結(jié)果上。
- <?xmlversionxmlversion="1.0"encoding="iso-8859-1"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.macromedia.com/2003/
- mxml">
- <mx:WebServiceidmx:WebServiceid="wsStock"
- wsdl="http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl">
- <mx:operationnamemx:operationname="getQuote">
- <mx:request>
- <symbol>{symbol.text}</symbol>
- </mx:request>
- </mx:operation>
- </mx:WebService>
- <mx:Labeltextmx:Labeltext="Enterasymbol:"/>
- <mx:HBox>
- <mx:TextInputidmx:TextInputid="symbol"/>
- <mx:Buttonlabelmx:Buttonlabel="GetQuote"click='wsStock.getQuote.send()'/>
- </mx:HBox>
- <mx:Labelidmx:Labelid="quote"fontWeight="bold">{wsStock.getQuote.result}</mx:Label>
- </mx:Application>
圖4.股價(jià)應(yīng)用
實(shí)際上,F(xiàn)lex數(shù)據(jù)綁定機(jī)制比傳統(tǒng)的重取/顯示(retrieve/display)方式更勝一籌:在Flex應(yīng)用中,你可以將任意對(duì)象的任意屬性綁定到另一任意對(duì)象的任意屬性值上。
【編輯推薦】
- 輕松實(shí)現(xiàn)Flex數(shù)據(jù)綁定
- 解析三種Flex數(shù)據(jù)訪問(wèn)機(jī)制用法
- 三大方法實(shí)現(xiàn)Flex全屏
- 揭開Flex正則表達(dá)式的神秘面紗
- 技術(shù)分享 在Flex中嵌入Flex字體的步驟