本人是从事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交互搭建是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。这个项目新手用来练手非常合适,因为其结构简单,易于理解。接下来,...
Flex与Java的交互是跨平台应用开发中的常见技术组合,允许前端用户界面(UI)与后端业务逻辑进行高效沟通。在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject...
### Flex与Java交互知识点 #### 一、简介 在Flex与Java进行交互的过程中,主要涉及到的是前后端的...综上所述,通过合理的架构设计和编码实践,Flex与Java可以高效地进行数据交互,从而构建出功能强大的Web应用程序。
标题"flex 和 java交互"指出了一个关键的技术融合,即Flex与Java的整合,允许Flex前端与Java后端进行数据和功能的通信。这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化...
Flex与Java数据交互是Web开发中的一个重要话题,它涉及到客户端与服务器端的数据交换技术。Flex是一种基于Adobe AIR和Flash Player运行时的富互联网应用程序(RIA)开发框架,主要用于创建动态、交互性强的用户界面...
- **AMF (Action Message Format)**: Flex与Java交互的主要协议是AMF,它是一种二进制格式,能够高效地传输数据,减少了网络延迟。 - ** BlazeDS**: Adobe的BlazeDS是一个开源服务器端项目,它提供了AMF通道,使得...
Flex和Java之间的交互是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。这个“flex+java交互简单实用易懂”的示例旨在提供一个清晰的教程,...
Flex与Java交互是Web开发中的常见技术,尤其在构建富客户端应用时,它允许前端的Flex界面与后端的Java服务器进行数据交换和业务逻辑处理。Flex作为一个强大的RIA(Rich Internet Applications)开发框架,提供了丰富...
在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...
在探讨“flex数据交互方式”这一主题时,我们首先需要理解Flex是什么以及它在数据交互中的角色。Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的开源框架,由Adobe Systems开发并维护。它使用MXML(标记语言...
Flex作为一个强大的客户端展示层框架,用于创建交互式、动态的用户界面,而Java则在后端处理业务逻辑和数据管理。两者结合,可以实现高效的数据传输和丰富的用户体验。 ### Flex简介 Flex是由Adobe开发的一种开源...
在Web开发中,Flex作为前端用户界面的工具,提供了丰富的图形和交互性,而Java则作为后端服务器,处理业务逻辑和数据管理。本项目"FlexServletDemo"是一个典型的示例,展示了如何将这两者有效地结合在一起。 Flex...
9. **实际应用**:Flex与Java的交互应用广泛,如实时数据展示、在线协作工具、电子商务系统等。通过视频教程,开发者可以学习到如何在实际项目中实现这些功能。 10. **学习资源**:提供的“Flex与Java通讯-1.exe”...
这个示例可能涵盖了创建Flex客户端、配置Red5服务器以及编写Java后台服务的步骤,通过实际操作帮助开发者理解如何实现Flex和Java之间的数据交互。 在实际开发中,为了确保Flex和Java之间的交互顺畅,开发者需要对...
接下来的工作就是编写具体的业务逻辑,包括在Flex客户端定义数据模型,处理用户交互,以及在Java后端实现业务处理和数据库操作。在实际开发中,你可能还需要考虑安全性、性能优化、异常处理等多个方面,以构建健壮的...
标题中的“Flex与Java交互 远程调用方式”指的是在Adobe Flex应用程序中与Java后端进行通信的技术。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),而Java是后端开发的常用语言。两者之间...
总的来说,Flex和Java的交互依赖于BlazDS这样的中间件,使得Flex客户端可以调用Java服务,处理数据和逻辑,同时保持用户界面的实时更新。这种技术组合提供了一种强大的方式来创建功能丰富的、高度交互的Web应用程序...