學(xué)習(xí)筆記 Flex如何結(jié)合JSP
在學(xué)習(xí)Flex的過程中,你可能會(huì)遇到Flex和JSP結(jié)合的問題,這里和大家分享一下,其實(shí)Flex里夾雜了ajax異步調(diào)用的技術(shù),因?yàn)楸旧鞟CTIONSCRIPT就和JAVASCRIPT有著異曲同工之妙。
Flex結(jié)合JSP
其實(shí)Flex里夾雜了ajax異步調(diào)用的技術(shù),因?yàn)楸旧鞟CTIONSCRIPT就和JAVASCRIPT有著異曲同工之妙。我做了一個(gè)例子是參考手冊(cè)上面的,不過自己改了一下,大概的程序就是這樣的,首頁當(dāng)然是Flex服務(wù)器來解析hxml,然后后臺(tái)通過jsp文件交互數(shù)據(jù)庫,然后把數(shù)據(jù)動(dòng)態(tài)的封裝成xml格式,最后在把xml標(biāo)簽與Flex程序綁定在一起,就可以了。這樣當(dāng)運(yùn)行Flex前端程序的時(shí)候,后臺(tái)就會(huì)把綁定好的數(shù)據(jù)顯示到了Flex的組件里。
我的mxml代碼:
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"
- layout="absolute"creationComplete="feedRequest.send()"backgroundGradientColors="[#000000,#000000]">
- <mx:HTTPServiceidmx:HTTPServiceid="feedRequest"url="http://localhost:8080/test/index.jsp"useProxy="false">
- <mx:requestxmlnsmx:requestxmlns="">
- <directory>{test.text}</directory>
- </mx:request>
- </mx:HTTPService>
- <mx:Panelidmx:Panelid="blog"width="359"height="520"
- title="{feedRequest.lastResult.rss.channel.title}"verticalCenter="188.5"horizontalCenter="179">
- <mx:DataGrididmx:DataGridid="dgPosts"dataProvider="{feedRequest.
- lastResult.rss.channel.item}"width="340"height="167">
- <mx:columns>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="題目"dataField="title"/>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="路徑"dataField="url"/>
- </mx:columns>
- </mx:DataGrid>
- <mx:TextAreawidthmx:TextAreawidth="388"height="129"
- htmlText="{dgPosts.selectedItem.description}"/>
- <mx:LinkButtonlabelmx:LinkButtonlabel="查看詳細(xì)"click="navigateToURL(newURLRequest(dgPosts.selectedItem.url));"/>
- <mx:Labeltextmx:Labeltext="選擇ID號(hào)"/>
- <mx:TextInputidmx:TextInputid="test"width="115"height="23"/>
- <mx:Labeltextmx:Labeltext="{test.text}"/>
- <mx:Buttonlabelmx:Buttonlabel="登陸"id="Submit"click="feedRequest.
- send();"/>
- </mx:Panel>
- <mx:Imagewidthmx:Imagewidth="717"height="151"top="31"
- horizontalCenter="0">
- <mx:source>file:///C|/DocumentsandSettings/Administrator/桌面/banner.gif</mx:source>
- </mx:Image>
- <mx:MenuBarxmx:MenuBarx="188"y="203"width="539"height="45">
- </mx:MenuBar>
- </mx:Application>
注釋:
(1).application里creationComplete="feedRequest.send()"這一屬性是每次程序運(yùn)行時(shí),調(diào)用httpservice里的Send()方法,在這個(gè)程序里實(shí)際上是請(qǐng)求http://localhost:8080/test/index.jsp,把得到的數(shù)據(jù)以xml形式返回,把內(nèi)容綁定到DataGrid的組件上。
(2).dataProvider="{feedRequest.lastResult.rss.channel.item}"此句的語法,應(yīng)該是,得到最后的返回結(jié)果,按照rss,channel,item此三層標(biāo)簽去綁定所遍歷的數(shù)據(jù)。
- <mx:columns>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="題目"dataField="title"/>
- <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="路徑"dataField="url"/>
- </mx:columns>
以上代碼就是創(chuàng)建分別叫題目和路徑的2個(gè)列,title和url即為遍歷出來的信息源標(biāo)簽。
(3).click="navigateToURL(newURLRequest(dgPosts.selectedItem.url));"linkbutton的屬性,強(qiáng)調(diào)一點(diǎn)的是dgPosts是datagrid中所產(chǎn)生的選項(xiàng),而navigateToURL(newURLRequest(url))此句就是另外打開一個(gè)url。
【編輯推薦】
- 學(xué)習(xí)筆記 Flex應(yīng)用程序如何啟動(dòng)
- FlexBuilder4十大新特性閃亮登場
- 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
- 揭開Flex正則表達(dá)式的神秘面紗
- 技術(shù)前沿 如何在Flex中嵌入完整HTML頁面