基于HTTPService方式给后台传递参数的方法(一)

本文展示了一个使用Flex与Servlet进行交互的例子。具体包括定义Servlet处理POST请求并返回XML数据,以及Flex应用如何通过HTTPService调用该Servlet,并将返回的数据绑定到DataGrid中显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义的Servlet的结构:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

System.out.println(request.getRequestURL());

String id = request.getParameter("uid");
System.out.println(id);

PrintWriter out = response.getWriter();
String temp = "<node><name>liusong</name><age>1</age></node>"
+"<node><name>kobe</name><age>2</age></node>"
+"<node><name>jordan</name><age>3</age></node>";
System.out.println(temp);
out.write(temp);

}

flex里面mxml的内容:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">

<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

//trace the result of the service out
private function serviceResult(event:Event):void
{
Alert.show(service.lastResult.node);
}

// in the event that the service faults or times out
private function serviceFault(event:Event):void
{
Alert.show('broken service');
}

private function callService():void
{
var url1:String = "http://localhost:8080/aaa/servlet/myservlet";
url1 +="?uid=" + input.text;
service.url = url1;
service.send();
}
]]>
</mx:Script>

<mx:HTTPService id="service" result="serviceResult(event)" fault="serviceFault(event)" method="POST" contentType="application/xml" useProxy="false" showBusyCursor="true">

</mx:HTTPService>
<mx:TextInput id="input"/>
<mx:Button label="get user name" click="callService()"/>
<mx:DataGrid dataProvider="{service.lastResult.node}">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="姓名" />
<mx:DataGridColumn dataField="age" headerText="年龄"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>

注意必要jar文件的导入!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值