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

本文展示了一个使用Flex的MXML代码与后端Servlet进行POST请求交互的例子。具体包括了如何从Servlet获取XML数据,并在Flex中解析这些数据并显示在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、付费专栏及课程。

余额充值