Flex与java简单的交互

本文介绍了一个使用Flex与后台Java服务进行数据交互的简单示例。通过HTTPService组件发送GET请求到Java服务端,服务端返回XML格式的数据。Flex应用解析并显示这些数据。

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

没接触过flex,忽然有项目需要,简单的看了一下!

flex通过HTTPService与后台java交互数据

前台flex代码

<?xml version="1.0" encoding="utf-8"?>

<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml" 
	viewSourceURL=""
	horizontalAlign="center" verticalAlign="middle" 
	width="100%" height="100%"
	>
	<mx:Script>
		<![CDATA[
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import mx.controls.Alert;
			
			private function outputFormat(
				uInfo:XML, elemName:String
			):String
			{
				var retVal:String
				= "{"
					+ uInfo.elements(elemName)[0].toString()
					+ "}";
				return retVal;
			}
			
			private function handleResultEvt(
				evt:ResultEvent
			):void
			{
				var usrInfo:XML
				= evt.result as XML;
				fName.text
					= outputFormat(usrInfo, "first_name");
				lName.text
					= outputFormat(usrInfo, "last_name");
				age.text
					= outputFormat(usrInfo, "age");
				addr1.text
					= outputFormat(usrInfo, "address_1");
				addr2.text
					= outputFormat(usrInfo, "address_2");
				city.text
					= outputFormat(usrInfo, "city");
				state.text
					= outputFormat(usrInfo, "state");
				zip.text
					= outputFormat(usrInfo, "zip");
			}
			
			private function handleFaultEvt(
				evt:FaultEvent
			):void
			{
				Alert.show(evt.fault.message,
					"Error");
			}
			
			private function doInfoQuery():void
			{
				userInfoQuery.send();
			}
		]]>
	</mx:Script>
	
	<mx:Panel title="Data Comminucation With ASP and MS SQL Server 2000"
			  height="75%" width="75%" 
			  paddingTop="10"
			  paddingLeft="10"
			  paddingRight="10"
			  paddingBottom="10"
			  horizontalAlign="center" verticalAlign="middle"
			  >
		<mx:Form>
			<mx:FormHeading label="User Info Query"/>
			<mx:FormItem label="Last Name">
				<mx:TextInput id="lName"/>
			</mx:FormItem>
			<mx:FormItem label="First Name">
				<mx:TextInput id="fName"/>
			</mx:FormItem>
			<mx:FormItem label="Age">
				<mx:TextInput id="age"/>
			</mx:FormItem>
			<mx:FormItem label="Address #1">
				<mx:TextInput id="addr1"/>
			</mx:FormItem>
			<mx:FormItem label="Address #2">
				<mx:TextInput id="addr2"/>
			</mx:FormItem>
			<mx:FormItem label="City">
				<mx:TextInput id="city"/>
			</mx:FormItem>
			<mx:FormItem label="State">
				<mx:TextInput id="state"/>
			</mx:FormItem>
			<mx:FormItem label="Zip">
				<mx:TextInput id="zip"/>
			</mx:FormItem>
		</mx:Form>
		<mx:Button label="Query Info" click="doInfoQuery()"/>
	</mx:Panel>
	
	<mx:HTTPService id="userInfoQuery"
					url="http://localhost:8080/project/tscenario/list2.htm"
					useProxy="false" method="GET"
					resultFormat="e4x"
					result="handleResultEvt(event);"
					fault="handleFaultEvt(event);" >
		<mx:request>
			<fname>{fName.text}</fname>
			<lname>{lName.text}</lname>
		</mx:request>
	</mx:HTTPService>
	
</mx:Application>
url发送请求链接

public void list2(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		  response.setContentType(CONTENT_TYPE);
		  response.setHeader("Cache-Control", "no-cache");
		  response.setHeader("Pragma", "no-cache");
		  response.setDateHeader("Expires", 0);
		  PrintWriter out = response.getWriter();
		        StringBuffer xml = new StringBuffer();
		        xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
		     //加上你要发送的xml
		        xml.append("<user_info><first_name>mingzi</first_name>"+
		        		"<last_name>lastname</last_name>"+
		        		"<age>23</age>"+
		        		"<address_1>address1</address_1>"+
		        		"<address_2>address2</address_2>"+
		        		"<city>beijing</city>"+
		        		"<state>Ca</state>"+
		        		"<zip>799</zip></user_info>");
		        out.write(xml.toString());
		 
		
	}

后台处理请求,这是我自己拼写的一个xml文件,包含了需要的参数,也可以自己查数据库,通过一些工具util拼写xml

前台解析xml文件

显示


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值