`

Flex java数据交互

阅读更多

本人是从事BS架构应用开发的,现在发现客户越来越关注用户的互动体验,视觉上的冲击 界面与提示友好 portlet 百花齐放
   基于各方面原因,现在开始关注flex技术.没说的最终还是要与实际应用结合来使用的.如何让flex开发的.swf与java进行数据交互?了解到flex是用amf与java进行数据交互的,按照网上搜出来的相关文档进行配置

   首先下载BlazeDS包 解压后

   

将lib下的jar包copy到自己建立好的web应用的lib下,将flex文件夹直接copy到/WEB-INF下(包括4个xml文件),在web.xml里加入view plaincopy to clipboardprint?
<servlet> 
        <servlet-name>MessageBrokerServlet</servlet-name> 
        <display-name>MessageBrokerServlet</display-name> 
        <servlet-class> 
            flex.messaging.MessageBrokerServlet  
        </servlet-class> 
        <param-name>contextConfigLocation</param-name> 
        <param-value> 
            /WEB-INF/flex/services-config.xml  
        </param-value> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
      
    <filter-mapping> 
        <filter-name>struts2</filter-name> 
        <url-pattern>/sevlet/*</url-pattern> 
    </filter-mapping> 
      
    <servlet-mapping> 
        <servlet-name>MessageBrokerServlet</servlet-name> 
        <url-pattern>/messagebroker/*</url-pattern> 
    </servlet-mapping> 
<servlet>
  <servlet-name>MessageBrokerServlet</servlet-name>
  <display-name>MessageBrokerServlet</display-name>
  <servlet-class>
   flex.messaging.MessageBrokerServlet
  </servlet-class>
  <param-name>contextConfigLocation</param-name>
  <param-value>
   /WEB-INF/flex/services-config.xml
  </param-value>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/sevlet/*</url-pattern>
 </filter-mapping>
 
 <servlet-mapping>
  <servlet-name>MessageBrokerServlet</servlet-name>
  <url-pattern>/messagebroker/*</url-pattern>
 </servlet-mapping>

注意 由于我用的是struts2+spring2.5+Hibernate3.3 开始由于在配置struts2的<url-pattern>/*</url-pattern>使我的<url-pattern>/messagebroker/*</url-pattern>请求总接收不到 郁闷了好半天 最后将应用中所有的请求加了一级路径 才分开

配置好后访问http://{server.name}:{server.port}/{context.root}/messagebroker/amf如果能够访问 那么应用一级就配置好了

下面开始用flex开发功能点吧.

view plaincopy to clipboardprint?
<?xml version="1.0"?> 
<!-- DataGrid control example. --> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script> 
        <!--[CDATA[  
            import mx.messaging.channels.AMFChannel;  
            import mx.messaging.ChannelSet;  
            import mx.rpc.remoting.RemoteObject;  
            import mx.controls.listClasses.ListData;  
            import mx.controls.Alert;  
            import mx.collections.ArrayCollection;  
            import mx.rpc.events.ResultEvent;  
            import mx.rpc.events.FaultEvent;  
            import mx.collections.ListCollectionView;  
 
            [Bindable]  
            private var ac:ArrayCollection;  
            private var cs:ChannelSet;   
 
            private function createChannelSet():ChannelSet  
            {  
                if (cs == null)  
                {  
                    cs=new ChannelSet();  
                    var ac:AMFChannel=new AMFChannel("my-amf", "http://localhost:8089/ssh/messagebroker/amf");  
                    cs.addChannel(ac);  
                }  
                return cs;  
            }  
 
            private function getGridDataAction():void  
            {  
 
                getDataObj.getGridData();  
                labNote.text="正在读取...请稍候";  
            }  
 
            //查询出来的结果为数组,直接传递给init即可    
            private function loadAcData(event:ResultEvent):void  
            {  
                onResultHandler(event);  
                labNote.text="读取成功,总共 N 条员工信息!";  
            }  
 
 
            private function updateGridDataAction():void  
            {  
      
                labNote.text="请稍后...正在处理";  
            }  
 
            private function updateGridDataResult(event:ResultEvent):void  
            {  
                labNote.text=String(event.result as String);  
            }  
 
            private function onResultHandler(event:ResultEvent):void  
            {  
                myDG.dataProvider=event.result;  
            }  
 
            private function onFaultHandler(event:FaultEvent):void  
            {  
                Alert.show(String(event.fault), "Fault!");  
            }  
        ]]--> 
    </mx:Script> 
 
    <!-- remoteObject used to get data from mysql database --> 
    <mx:RemoteObject id="getDataObj" 
                     destination="ro" channelSet="{createChannelSet()}"> 
        <mx:method name="getGridData" 
                   result="onResultHandler(event)" 
                   fault="onFaultHandler(event)"/> 
    </mx:RemoteObject> 
 
    <mx:Panel title="Employee Inforamtion Management System" 
              height="288" 
              width="100%" 
              paddingTop="10" 
              paddingLeft="10" 
              paddingRight="10" 
              layout="absolute"> 
 
        <!--设置pageSize为8,表示每页显示8条记录,不设置默认显示5条记录--> 
        <!--dataGridDoubleClick="showUserInfo()" --> 
        <mx:DataGrid id="myDG" 
                     width="100%" 
                     height="100%"> 
 
            <mx:columns> 
                <!--为这个标签设置DataGridColumn,指示在DataGrid上显示的列--> 
 
                <mx:DataGridColumn headerText="品名" 
                                   dataField="productdesc"/> 
                <mx:DataGridColumn headerText="期初库存" 
                                   dataField="initquantity"/> 
                <mx:DataGridColumn headerText="购入" 
                                   dataField="purchasequantity"/> 
                <mx:DataGridColumn headerText="销售" 
                                   dataField="salequantity"/> 
            </mx:columns> 
 
        </mx:DataGrid> 
        <mx:Button label="Refresh" 
                   x="417" 
                   y="183" 
                   width="120" 
                   click="getGridDataAction()"/> 
        <mx:Button id="updateDataBtn" 
                   x="72" 
                   y="183" 
                   label="Update" 
                   width="120" 
                   textAlign="center" 
                   click="updateGridDataAction()"/> 
        <mx:Label id="labNote" 
                  x="10" 
                  y="214" 
                  width="637" 
                  color="#0000FF" 
                  height="24" 
                  fontSize="12" 
                  fontFamily="Times New Roman"/> 
 
    </mx:Panel> 
</mx:Application> 

分享到:
评论

相关推荐

    Flex和java交互搭建

    Flex和Java交互搭建是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。这个项目新手用来练手非常合适,因为其结构简单,易于理解。接下来,...

    Flex与Java的交互

    Flex与Java的交互是跨平台应用开发中的常见技术组合,允许前端用户界面(UI)与后端业务逻辑进行高效沟通。在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject...

    Flex和java交互的示例代码

    ### Flex与Java交互知识点 #### 一、简介 在Flex与Java进行交互的过程中,主要涉及到的是前后端的...综上所述,通过合理的架构设计和编码实践,Flex与Java可以高效地进行数据交互,从而构建出功能强大的Web应用程序。

    flex flex和 java交互

    标题"flex 和 java交互"指出了一个关键的技术融合,即Flex与Java的整合,允许Flex前端与Java后端进行数据和功能的通信。这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化...

    Flex与Java数据交互

    Flex与Java数据交互是Web开发中的一个重要话题,它涉及到客户端与服务器端的数据交换技术。Flex是一种基于Adobe AIR和Flash Player运行时的富互联网应用程序(RIA)开发框架,主要用于创建动态、交互性强的用户界面...

    实现Flex和Java交互.rar

    - **AMF (Action Message Format)**: Flex与Java交互的主要协议是AMF,它是一种二进制格式,能够高效地传输数据,减少了网络延迟。 - ** BlazeDS**: Adobe的BlazeDS是一个开源服务器端项目,它提供了AMF通道,使得...

    flex+java交互简单实用易懂

    Flex和Java之间的交互是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。这个“flex+java交互简单实用易懂”的示例旨在提供一个清晰的教程,...

    flex与java交互源码

    Flex与Java交互是Web开发中的常见技术,尤其在构建富客户端应用时,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。Flex作为一个强大的RIA(Rich Internet Applications)开发框架,提供了丰富...

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

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

    flex数据交互_方式

    在探讨“flex数据交互方式”这一主题时,我们首先需要理解Flex是什么以及它在数据交互中的角色。Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的开源框架,由Adobe Systems开发并维护。它使用MXML(标记语言...

    Flex 与 Java 交互例子

    Flex作为一个强大的客户端展示层框架,用于创建交互式、动态的用户界面,而Java则在后端处理业务逻辑和数据管理。两者结合,可以实现高效的数据传输和丰富的用户体验。 ### Flex简介 Flex是由Adobe开发的一种开源...

    Flex与Java交互

    在Web开发中,Flex作为前端用户界面的工具,提供了丰富的图形和交互性,而Java则作为后端服务器,处理业务逻辑和数据管理。本项目"FlexServletDemo"是一个典型的示例,展示了如何将这两者有效地结合在一起。 Flex...

    Flex与Java交互通讯视频详解

    9. **实际应用**:Flex与Java的交互应用广泛,如实时数据展示、在线协作工具、电子商务系统等。通过视频教程,开发者可以学习到如何在实际项目中实现这些功能。 10. **学习资源**:提供的“Flex与Java通讯-1.exe”...

    red5把flex与java交互的例子

    这个示例可能涵盖了创建Flex客户端、配置Red5服务器以及编写Java后台服务的步骤,通过实际操作帮助开发者理解如何实现Flex和Java之间的数据交互。 在实际开发中,为了确保Flex和Java之间的交互顺畅,开发者需要对...

    Flex与java交互.doc

    接下来的工作就是编写具体的业务逻辑,包括在Flex客户端定义数据模型,处理用户交互,以及在Java后端实现业务处理和数据库操作。在实际开发中,你可能还需要考虑安全性、性能优化、异常处理等多个方面,以构建健壮的...

    Flex与java交互 远程调用方式

    标题中的“Flex与Java交互 远程调用方式”指的是在Adobe Flex应用程序中与Java后端进行通信的技术。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),而Java是后端开发的常用语言。两者之间...

    flex和java的交互介绍

    总的来说,Flex和Java的交互依赖于BlazDS这样的中间件,使得Flex客户端可以调用Java服务,处理数据和逻辑,同时保持用户界面的实时更新。这种技术组合提供了一种强大的方式来创建功能丰富的、高度交互的Web应用程序...

Global site tag (gtag.js) - Google Analytics