欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flex httpservice返回值類型和處理

 更新時間:2009年02月03日 05:05:58   作者:  
這兩天在考慮flex與后端java服務(wù)交互的問題。在采用BlazeDS的Remote Object方式,還是傳統(tǒng)的http service方式之間徘徊了一段時間
采用BlazeDS的Remote Object好處是顯而易見的,只需要維護(hù)后端server部分的java對象結(jié)構(gòu)即可,flex前段采用<mx:RemoteObject>的destination索引即可(簡單的配置即可)。但是壞處就是對于其他接入方式支持不了,同時對于前臺顯示方式也有所限制了。
采用http service的方式,可能會浪費一部分xml解析的時間,損失一部分效率(當(dāng)前flex前端也不得不額外多出很多object的構(gòu)造)。但是通用性將得到保證。
最終還是決定采用最原始的http service方式。作為平臺內(nèi)的一個組件,http service的方式應(yīng)該會給我?guī)砗芏囔`活的擴(kuò)展性處理。
===================================================
http service使用很簡單,但是我在第一次使用的時候犯了嚴(yán)重的錯誤,浪費了不少時間。此處銘記一下,以備后續(xù)反思。
做了一個嘗試,后端利用最原始的servlet提供xml數(shù)據(jù)源,前端利用resultevent來獲取。但總是不成功。剛開是利用“res.result.toString()”這樣的方式,總只能返回[Object Object]這樣的結(jié)果。我以為是后端servlet輸出xml不正確,檢查和測試幾次,后端沒有問題。后來改成“res.result.Item.itemname”這種方式,竟然能夠得到值,但是我視圖構(gòu)造成XML對象的時候,總是返回Object,無法成功?!?埋頭苦調(diào)試了半天,終不得答案,郁悶呀。
后來值得重新回頭翻一翻as3 language reference,才恍然明白,竟然還有一個“resultFormat”屬性需要設(shè)置,默認(rèn)只是返回object對象的,而我需要的是XML或E4X對象。
此處銘記如下:返回數(shù)據(jù)的格式resultFormat有幾種類型,object、array、xml、flashvars、text和e4x,默認(rèn)的設(shè)置為object。
RESULT_FORMAT_ARRAY : String = "array"
[] 結(jié)果格式“array”與“object”相似,但是其返回的值始終為數(shù)組;這樣,如果從結(jié)果格式“object”返回的結(jié)果尚不是數(shù)組,則將把該項目添加為一個新數(shù)組的第一個項目。
RESULT_FORMAT_E4X : String = "e4x"
[] 結(jié)果格式“e4x”指定返回的值是一個 XML 實例,此實例可以使用 ECMAScript for XML (E4X) 表達(dá)式訪問。
RESULT_FORMAT_FLASHVARS : String = "flashvars"
[] 結(jié)果格式“flashvars”指定返回的值是包含由 & 符號分隔的名稱=值對的文本,該文本被分析為 ActionScript 對象。
RESULT_FORMAT_OBJECT : String = "object"
[] 結(jié)果格式“object”指定返回的值是 XML,但按照 ActionScript 對象樹分析。
RESULT_FORMAT_TEXT : String = "text"
[] 結(jié)果格式“text”指定 結(jié)果文本應(yīng)為未經(jīng)處理的字符串。
RESULT_FORMAT_XML : String = "xml"
[] 結(jié)果格式“xml”指定結(jié)果應(yīng)作為指向父 flash.xml.XMLDocument 的第一個子項的 flash.xml.XMLNode 實例返回。
================================================
在 MXML 文件中使用 <mx:HTTPService> 標(biāo)簽代表 HTTPService 對象。當(dāng)調(diào)用 HTTPService 對象的 send() 方法時,將發(fā)出對指定 URL 的 HTTP 請求,并且返回 HTTP 響應(yīng)??梢赃x擇向指定 URL 傳遞參數(shù)。如果沒有使用基于服務(wù)器的代理服務(wù),則只能使用 HTTP GET 或 POST 方法。如果將 useProxy 屬性設(shè)置為 true 并使用基于服務(wù)器的代理服務(wù),則還可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。
================================================
銘記于胸: 遇事先查API DOC是個好習(xí)慣!
注意:由于軟件限制,當(dāng)使用 GET 時 HTTPService 不生成用戶界面友好的錯誤消息。

相關(guān)文章

最新評論