Flex与Java三种交互方式实例

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
  xmlns:s="library://ns.adobe.com/flex/spark" 
  xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"   
  creationComplete="init()"
  >
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;



//错误处理函数
protected function serv_faultHandler(event:FaultEvent):void
{
Alert.show("flex 与普通java类通信,调用失败了:"+event.fault.message as String,"提示");
}

//成功调用函数
protected function serv_resultHandler(event:ResultEvent):void
{
Alert.show("flex 与普通java类通信,调用成功了:"+event.result as String,"提示");
}


protected function service_faultHandler(event:FaultEvent):void
{
Alert.show("flex 与服务器交互,调用失败了:"+event.fault.message as String,"提示");
}


protected function service_resultHandler(event:ResultEvent):void
{
Alert.show("flex 与服务器交互,调用成功了:"+event.result as String,"提示");
}


protected function ws_faultHandler(event:FaultEvent):void
{
Alert.show("flex与webservice交互,调用失败了:"+event.fault.message as String,"提示");
}

//调用成功了
protected function ws_resultHandler(event:ResultEvent):void
{
trace(event.result);
lbl.text=(String)(event.result);
}

//第一种调用webservice的方法
//此方法调用webservice
protected function btn_clickHandler(event:MouseEvent):void
{
//ws.getWeatherbyCityName(city.text);
//第二中调用webservice的方法
ws.getWeatherbyCityName.send();
}



]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->

<!--flex 与普通java类通信-->
<s:RemoteObject id="serv" destination="myservice" fault="serv_faultHandler(event)" result="serv_resultHandler(event)">

</s:RemoteObject>

<!-- flex 与服务器交互-->
<s:HTTPService id="service" fault="service_faultHandler(event)" result="service_resultHandler(event)" url="http://localhost:8080/hello/simpleServiceServlet">

</s:HTTPService>

<!--flex与webservice交互这里调用一个天气预报的webservice-->
<s:WebService id="ws" 
 wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" 
 fault="ws_faultHandler(event)" 
 result="ws_resultHandler(event)" 
 showBusyCursor="true">
<!-- 第二种调用webservice的方法<s:operation>-->
<!-- <s:operation name="getWeatherbyCityName"> webservice中的方法名-->
<s:operation name="getWeatherbyCityName">
<!--传递的参数-->
<s:request>
<!--参数名称必须与webservice中定义的参数名一致否则调用不成功报错-->
<theCityName>
{city.text}
</theCityName>
</s:request>
</s:operation>

</s:WebService>


</fx:Declarations>
<s:TextInput id="city" x="463" y="106" prompt="中文全称"/>
<s:Button x="618" y="107" label="查询" id="btn" click="btn_clickHandler(event)"/>
<s:Label x="68" y="146" id="lbl" width="820" height="418" fontSize="20" fontFamily="楷体"/>
<s:Label x="74" y="44" color="#5F63F3" fontFamily="微软雅黑" fontSize="32" fontWeight="normal"
text="天气预报"/>
<s:Label x="275" y="108" fontFamily="微软雅黑" fontSize="18" text="请输入要查询的地名:"/>
</s:Application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值