`

Flex3和Java使用json交互

阅读更多

转载:http://cs.ntsky.com/flex3-java-json.html

 

Flex在做界面开发的时候有很多优势,Flex+java的组合也越来越流行,在整合开发的过程中自然会遇到数据交互的问题,下面介绍Flex3+Java整合使用json的情况。

一、Flex3中使用json需要corelib.swc

   http://www.adobe.com/cfusion/exchange/index.cfm?view=sn111&extid=1078469

   将corelib.swc拷贝到Flex安装目录的sdks\3.0.0\frameworks\libs下

二、Java中进行数据处理得到json格式的数据,部分代码

Java代码
/**  
 * 浏览器直接返回信息  
 *   
 * @param content 内容  
 * @param character 编码  
 * @throws IOException  
 */  
protected void out(String content,String character) throws IOException {    
    HttpServletResponse response = ServletActionContext.getResponse();   
    response.setContentType("text/html;charset="+character);    
    PrintWriter out = response.getWriter();   
    out.print(content);   
    out.flush();   
    out.close();   
}   
  
    try{    
        Author author = authorService.getAuthorByName(username);   
        if( author==null ){    
            JSONObject json = new JSONObject();    
            json.put("status","0");    
            json.put("message","用户名不存在");    
            super.out(json.toString());    
        }   
        if(author.getPassword().equals(MD5.md5(password))){    
            session.put(Symbols.SESSION_AUTHOR, author);   
            JSONObject json = new JSONObject();    
            json.put("status","1");    
            json.put("message","登录成功");    
            super.out(json.toString());                 
        }   
        else{    
            JSONObject json = new JSONObject();    
            json.put("status","0");    
            json.put("message","密码错误");    
            super.out(json.toString());         
        }   
           
    }   
    catch(ServiceException se){    
        JSONObject json = new JSONObject();    
        json.put("status","0");    
        json.put("message","登录失败");    
        super.out(json.toString());     
        throw new Exception(se);    
    } finally {    
    }          
    return NONE;    
  

三、Flex中请求URL得到json的数据,然后在script中解析json数据

XML/HTML代码
 
<?xml version="1.0" encoding="utf-8"?>  
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"     
    horizontalAlign="center"     
    verticalAlign="middle"     
    verticalGap="15"   
    horizontalGap="15">   
       
    <mx:Script>   
        <![CDATA[  
            import mx.collections.ArrayCollection;  
            import mx.rpc.events.ResultEvent;  
            import com.adobe.serialization.json.JSON;   
            import mx.controls.Alert;  
              
            [Bindable]  
            private var photoFeed:ArrayCollection;  
 
            private function doLogin():void {  
                trace("start send");  
                var params:Object = new Object();  
                params.username = username.text;  
                params.password = password.text;  
                loginCheck.send(params);  
                trace("end send");  
            }  
 
            private function doCancel():void {  
                username.text = "";  
                password.text = "";  
            }  
 
            private function loginHandler(event:ResultEvent):void {  
                  
                var rawData:String = String(event.result);  
                  
                //decode the data to ActionScript using the JSON API  
                //in this case, the JSON data is a serialize Array of Objects.  
                var arr:Array = (JSON.decode(rawData) as Array);  
                var dataArray:ArrayCollection = new ArrayCollection(arr);  
                //arraySize = dataArray.length;  
                      
                // info.text = event.result.toString();  
                var obj:Object = JSON.decode(rawData);  
             
                if(obj.status==1){  
                     var request:URLRequest = new URLRequest();  
                     request.method = URLRequestMethod.GET;  
                     request.url = "http://test.ntsky.com:8080/admin/posts.action";  
                     // request.  
                     var loader:URLLoader = new URLLoader();  
                     navigateToURL(request,"_self");  
                }  
                else{  
                    Alert.show(obj.message);  
                }  
            }  
              
         ]]>  
    </mx:Script>        
       
    <mx:HTTPService id="loginCheck"   
        url="http://test.ntsky.com:8080/admin/login.action"   
        resultFormat="text"   
            
        result="loginHandler(event)" />   
  
    <mx:Panel x="330" y="192" width="290" height="177" layout="absolute" title="用户登录" fontSize="12" horizontalAlign="center" verticalAlign="middle">   
        <mx:Form x="10" y="10" width="253" height="90">   
            <mx:FormItem label="用户名:">   
                <mx:TextInput id="username"/>   
            </mx:FormItem>   
            <mx:FormItem label="密  码 :">   
                <mx:TextInput id="password" displayAsPassword="true"/>   
            </mx:FormItem>   
        </mx:Form>   
        <mx:Button x="65" y="103" label="登录" click="doLogin()"/>   
        <mx:Button x="144" y="103" label="取消" click="doCancel()"/>   
    </mx:Panel>   
       
</mx:Application>   
 
分享到:
评论

相关推荐

    Flex与Java使用Json数据交互JAR包

    在处理JSON交互时,日志记录对于调试和诊断问题至关重要。 使用这些库,开发者可以在Flex客户端和Java服务器之间建立JSON数据交换的桥梁。在Flex端,可以使用ActionScript 3的JSON类来序列化和反序列化数据。而在...

    Flex使用json和xml数据交互

    ### Flex使用json和xml数据交互:深度解析与实践 #### 引言 在现代Web开发领域,数据交换格式的选择对于实现高效、灵活的前后端通信至关重要。JSON(JavaScript Object Notation)与XML(Extensible Markup ...

    flex使用 RemoteObject 与java进行json格式的数据交互

    总的来说,Flex通过`RemoteObject`组件与Java进行JSON数据交互,提供了一种高效且直观的方式,使客户端和服务器端能紧密协作,完成复杂的业务逻辑。理解并熟练掌握这种技术对于Flex和Java开发者来说至关重要。

    Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

    标题 "Flex+Struts2+JSON实现Flex和后台的HTTP Service请求" 描述了一种技术方案,用于在Flex前端和Java后端之间建立通信。这种通信是通过HTTP Service请求完成的,利用Struts2框架处理业务逻辑,并通过JSON格式交换...

    Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互

    在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...

    flex4集成java

    这些格式可以被 Flex 的 XML 解析器和 JSON 库处理,也可以在 Java 侧使用 JAXB 或 JSON 库进行序列化和反序列化。 5. **事件驱动通信**: 使用 BlazeDS 或类似工具,可以实现 Flex 客户端和 Java 服务器之间的...

    Flex使用JSON格式与Java通信

    标题中的“Flex使用JSON格式与Java通信”是指在开发富互联网应用程序(Rich Internet Application, RIA)时,采用Adobe Flex作为前端技术,通过JSON(JavaScript Object Notation)数据交换格式与后端Java服务器进行...

    flex序列化json

    总之,Flex与Java等后端系统进行数据交互时,通过使用FlexJSON这样的库,可以方便地进行JSON的序列化和反序列化,实现数据的高效传输。理解并掌握这些工具和技巧,对于开发健壮的Flex应用程序至关重要。

    Java_Flex,Java_Flex,Java_Flex

    Java_Flex技术结合了Java的强大后端处理能力和Flex的富互联网应用程序(RIA)前端展示功能,为开发跨平台、交互性强的Web应用提供了强大的解决方案。本文将深入探讨Java与Flex的集成,以及如何利用这两项技术的优势...

    Flex与JSON及XML的互操作

    Flex应用通过HTTP请求与Java服务器交互,服务器则根据请求提供XML或JSON格式的数据,Flex再负责数据的解析和展示。这种前后端分离的架构,提高了系统的可维护性和扩展性。 #### 示例分析:Flex应用与XML数据的交互 ...

    Flex使用JSON格式与Java通信.docx

    ### Flex使用JSON格式与Java通信知识点详解 #### 一、背景介绍 随着互联网技术的发展,跨平台、跨语言之间的通信成为开发中常见的需求之一。在本文档中,我们将深入探讨如何利用Flex框架通过JSON(JavaScript ...

    Flex与Java交互通讯视频详解

    10. **学习资源**:提供的“Flex与Java通讯-1.exe”和“Flex与Java通讯-2.exe”很可能是教学视频,而“flex连接java.TXT”可能是配套的代码示例或笔记,帮助学习者深入理解并实践Flex与Java的交互技术。 以上是关于...

    flex3 java 通信

    5. **Flash Remoting**:虽然不是Flex3与Java通信的首选方式,但Flash Remoting(通过NetConnection和NetStream类)仍然可用于与服务器端进行实时数据交换,不过它通常用于Flash Player而不是Flex。 6. **Security*...

    FLex与Java交互必备blazeds

    2. 创建Flex客户端:使用Flex Builder或Flash Builder创建Flex项目,定义与Java服务交互的MXML组件或ActionScript类。 3. 定义服务代理:在Flex项目中,通过BlazeDS的Services面板,可以自动生成与Java服务对应的...

    flex与java远程传值demo

    总的来说,这个"flex与java远程传值demo"展示了如何使用Flex、BlazeDS和Java来实现高效的客户端-服务器通信。通过这种方式,开发者可以创建出功能丰富的Web应用,同时享受到Flex的交互性和Java的后端处理能力。在...

    Flex_3_with_Java Flex_3_with_Java

    通过以上对《Flex 3 with Java》这本书的介绍和分析,我们可以看出本书旨在帮助开发者全面了解如何使用 Flex 3 和 Java 构建高性能的富互联网应用程序。无论是初学者还是有一定经验的开发者,都能从中受益匪浅。

    使用granite实现flex交互java

    在本篇讨论中,我们将深入探讨如何使用Granite实现Flex与Java的交互,并围绕这个主题展开相关知识点。 1. **Flex简介**: Flex是一种用于创建RIA(Rich Internet Applications)的开源框架,基于ActionScript语言...

    使用BlazeDS实现flex与java 整合

    总结,使用BlazeDS整合Flex和Java能实现高效的前后端交互,但同时也需要注意性能优化、安全配置以及错误处理等多个方面。通过熟练掌握BlazeDS的使用,开发者可以构建出响应快速、功能强大的富互联网应用。

    Flex+Java完美整合框架

    Flex是用于构建交互式、图形丰富的Web应用的开源框架,而Java则提供了稳定的服务器端处理和数据管理功能。通过这种整合,开发者可以创建出具有高度用户体验的前端,同时利用Java的稳定性和可扩展性来处理复杂的业务...

Global site tag (gtag.js) - Google Analytics