AS 3.0與jsp通訊(4)

來源:互聯網
上載者:User

這一次,改用flex來做一個遠程與jsp訪問,並返回xml資料值 下面是一個封裝好的類,繼承了HttpService類

 

 package Config<br />{<br /> import flash.events.*;<br /> import flash.net.*;</p><p> import mx.rpc.events.FaultEvent;<br /> import mx.rpc.events.ResultEvent;<br /> import mx.rpc.http.HTTPService;<br /> public class Connect2 extends HTTPService<br /> {<br /> private static var connect:Connect2=null; </p><p> //串連的網址<br /> public static var myurl:String="http://localhost:8080/flash/receive.jsp"; </p><p> public function Connect2()<br /> {<br /> this.method="POST";<br /> this.useProxy=false; //不啟動代理服務<br /> this.resultFormat="xml";//設定返回資料的格式為xml<br /> } </p><p> public static function getconnect():Connect2<br /> {<br /> if (connect == null)<br /> {<br /> connect=new Connect2();<br /> }<br /> return connect;<br /> }<br /> public function sendMessage(para:URLVariables,myurl:String):void<br /> { //設定發送資料的變數<br /> this.url=myurl;//指定發送的jsp頁面<br /> this.send(para);//發送資料<br /> }<br /> }<br />}<br /> 

 

第二:jsp輸出值

out.println(“你要返回的值”);通過flex來讀取

 

<%<br /> response.setContentType("text/xml");<br /> String myname=request.getParameter("userName");<br /> String pwd=request.getParameter("userPwd");</p><p>out.println("<?xml version=/"1.0/" encoding=/"utf-8/"?>");<br />out.println("<userinfo><ss>"+myname+"</ss><ss>"+pwd+"</ss></userinfo>");</p><p>%></p><p>

 

這裡是一個返回xml的資料

 

然後寫一個用戶端在flex裡面。讓其讀取資料返回的資料。

 

<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"><br /><mx:Script><br /><!--[CDATA[<br />import mx.effects.IAbstractEffect;<br />import mx.rpc.events.FaultEvent;<br />import mx.rpc.events.ResultEvent;<br />import Config.Connect2;</p><p>private var con:Connect2;</p><p>private function init():void<br />{<br /> con=Connect2.getconnect();//連結網路</p><p>}<br />private function senddata():void<br />{<br />if(userName.text!="" && userPwd.text!="")<br />{<br /> var para:URLVariables=new URLVariables();<br /> para.userName=userName.text;<br /> para.userPwd=userPwd.text;<br /> con.sendMessage(para,Connect2.myurl);//發送資料<br /> con.addEventListener(ResultEvent.RESULT,resulthander);//監聽返回結果<br /> con.addEventListener(FaultEvent.FAULT,faulthander);//監聽錯誤結果<br />}<br />}</p><p>private function resulthander(event:ResultEvent):void<br />{ trace("d");</p><p> var myxml:XML=XML(event.result);<br /> trace(myxml);//輸出xml格式<br /> trace(myxml.child("ss").children()[0]);</p><p>}</p><p>private function faulthander(event:FaultEvent):void<br />{ trace("cuowu");</p><p>}</p><p>]]--><br /></mx:Script><br /><mx:Panel width="303" height="209" layout="absolute" x="216" y="113"><br /><mx:Button click="senddata()" label="Send" labelPlacement="left" x="208" y="113"/><br /><mx:TextInput id="userName" x="66" y="24" width="196"/><br /><mx:TextInput id="userPwd" x="66" y="67" width="196"/><br /><mx:Label x="14" y="26" text="Name"/><br /><mx:Label x="10" y="69" text="Password"/><br /></mx:Panel><br /></mx:Application><br />

 

輸出結果預覽:

<userinfo>
  <ss>s</ss>
  <ss>s</ss>
</userinfo>

s

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.