`
dxm1986
  • 浏览: 429275 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex与后台(JSP)交互

    博客分类:
  • Flex
阅读更多

在我的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的所有内容,所以这个地方我们必须进行解析,至于怎么解析在这里就不再多说。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics