专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

Flex与后盾(JSP)交互

发布时间:2011-06-27 19:44:58 文章来源:www.iduyao.cn 采编人员:星星草
Flex与后台(JSP)交互

在我的FLEX博客(www.wolfdream.cn)用到了FLEX与JAVA交互,其中就包括以下的交互。

以前用FLEX与JAVA交互,一般都用remoteObject来调用后台相应的JAVA的方法,对于那些较小量的数据交互,我们可以用FLEX直接与后台的JSP进行通信。下面用一个例子来说明:

 

Flex端的代码:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" height="100%">
	<mx:Script>
		<![CDATA[
			import flash.net.navigateToURL;
			import common.URLText;
			private var request:URLRequest;
			private function loadData():void{
			   var loader:URLLoader=new URLLoader();
			   loader.addEventListener(Event.COMPLETE,handlerComplete);
			   request=new URLRequest(URLText.url+"/hello.jsp?user="+encodeURIComponent("微软中国")+"&abc="+"哈哈");
			   var variables:URLVariables=new URLVariables();
			   var ss:String="邓大明";
			   variables.username="邓大明";
			   request.data=variables;
			   request.method="post";
			   
			   loader.load(request);
			}
			
			private function handlerComplete(event:Event):void{
			    var loader:URLLoader=URLLoader(event.target);
			    hello.text=loader.data;
			}
			
			//URL 从flex组件中得到的text必须进行编码
			//自定义的string 无须编码,可以直接传后台
			
		]]>
	</mx:Script>
	<mx:Text id="hello" text="邓小明"/>
	<mx:Button label="请求后台" click="loadData()"/>
</mx:Application>

 

 

 下面是服务器端JSP页面的内容:

 

 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@page import="freemarker.template.utility.StringUtil"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    out.print("hello      从后台动态传来的hello");

    String username1=request.getParameter("username");
    String user=new String(username1.getBytes("ISO8859-1"),"utf-8");
    System.out.println("用户名:"+user+"||"+username1);
    System.out.println("abc:"+request.getParameter("abc"));
    String user0=request.getParameter("user");
    String user1=new String(user0.getBytes("ISO8859-1"),"utf-8");
    System.out.println("用户名:"+user0+"||"+user1);  
 %>
</body>
</html>

 

 在前台FLEX点击Button即可请求到JSP的所有内容,其中包含out.print中输入客端的动态内容,这些动态内容一般为我们所需,可以从数据库取数据再取出在FLEX端显示即可,因为取到的是JSP的所有内容,所以这个地方我们必须进行解析,至于怎么解析在这里就不再多说。

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: