前台的as 类:最重要的是要加com.system.domain.FlowType以便前台的类和后台的类对应。
package
{
/**
* 描述:
* 创建时间:2012-12-26 上午10:09:29
*/
[ Bindable]
[ RemoteClass( alias= "com.system.domain.FlowType")]
public class FlowType
{
public function FlowType()
{
}
private var _pkId:int;
private var _flowId:int;
private var _typeId:int;
public function get typeId():int
{
return _typeId;
}
public function set typeId(value:int):void
{
_typeId = value;
}
public function get flowId():int
{
return _flowId;
}
public function set flowId(value:int):void
{
_flowId = value;
}
public function get pkId():int
{
return _pkId;
}
public function set pkId(value:int):void
{
_pkId = value;
}
}
}
前台的代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="application1_creationCompleteHandler(event)"
minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<mx:RemoteObject id="workflowRO" destination="workflowActionDest" fault="faultHandler(event)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[ Bindable]
public var flowtypelist:ArrayCollection;
private function faultHandler(event:FaultEvent):void {
Alert.show(event.toString(), 'FaultHandlerError' );
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
workflowRO.addEventListener(ResultEvent.RESULT,findflowTypereturn);
workflowRO.findFlowTypes();
}
private function findflowTypereturn(event:ResultEvent):void
{
workflowRO.removeEventListener(ResultEvent.RESULT,findflowTypereturn);
flowtypelist=event.result as ArrayCollection ;
trace(flowtypelist.getItemAt(0));
var ft:FlowType=flowtypelist.getItemAt(0) as FlowType;
trace(ft.flowId);
}
protected function button1_clickHandler(event:MouseEvent):void
{
var ft:FlowType= dg.selectedItem as FlowType;
Alert.show(ft.flowId.toString());
ft.flowId=1000;
workflowRO.addEventListener(ResultEvent.RESULT,chargereturn);
workflowRO.saveFlowTypes(ft);
}
private function chargereturn(event:ResultEvent):void
{
workflowRO.removeEventListener(ResultEvent.RESULT,chargereturn);
}
]]>
</fx:Script>
<s:VGroup>
<s:Button label="添加" click="button1_clickHandler(event)"/>
<mx:DataGrid id="dg" width="500" height="600" dataProvider="{flowtypelist}">
<mx:columns>
<mx:DataGridColumn dataField="flowId" headerText="flowId"/>
<mx:DataGridColumn dataField="pkId" width="100" headerText="pkId"/>
<mx:DataGridColumn dataField="typeId" headerText="typeId"/>
</mx:columns>
</mx:DataGrid>
</s:VGroup>
</s:Application>
后台对应的类:
ackage com.system.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table (name = "flow_type")
public class FlowType implements Serializable {
private Integer pkId;
private Integer flowId;
private Integer typeId;
// empty Constructor
public FlowType(){
super();
}
// full Constructor
public FlowType(Integer pkId , Integer flowId , Integer typeId){
super();
this.pkId = pkId;
this.flowId = flowId;
this.typeId = typeId;
}
// auto Constructor
public FlowType(Integer flowId , Integer typeId){
super();
this.flowId = flowId;
this.typeId = typeId;
}
@Id
@GeneratedValue
@Column(name = "pk_id")
public Integer getPkId() {
return pkId ;
}
public void setPkId( Integer pkId ) {
this.pkId = pkId;
}
@Column(name = "flow_id")
public Integer getFlowId() {
return flowId ;
}
public void setFlowId( Integer flowId ) {
this.flowId = flowId;
}
@Column(name = "type_id")
public Integer getTypeId() {
return typeId ;
}
public void setTypeId( Integer typeId ) {
this.typeId = typeId;
}
}
后台与前台的交互类:
package com.system.action;
import java.util.List;
import javax.annotation.Resource;
import com.system.domain.FlowType;
import com.system.service.FlowTypeService;
public class WorkflowAction {
private FlowTypeService flowTypeService;
public FlowTypeService getFlowTypeService() {
return flowTypeService;
}
@Resource
public void setFlowTypeService(FlowTypeService flowTypeService) {
this. flowTypeService = flowTypeService;
}
public List<FlowType> findFlowTypes()
{
return flowTypeService.findFlowTypes();
}
public void saveFlowTypes(FlowType ty)
{
System. out.println(ty.getFlowId());
System. out.println(ty.getPkId());
}
}
配置文件:
<bean id="workflowActionDest" class="com.system.action.WorkflowAction">
<flex:remoting-destination />
</bean>
分享到:
相关推荐
根据提供的标题、描述、标签及部分内容,本文将详细介绍Flex与后台进行交互的三种主要方法:通过FlashVars传递参数、利用HttpService服务以及采用URLLoader组件。这些方法在Flex开发中非常常见,对于实现数据的前后...
### Flex与Java通过实体传递数据 #### 背景介绍 在现代Web应用开发中,前端与后端之间的数据交互是必不可少的一部分。Flex作为一种流行的富客户端技术,常用于构建复杂的用户界面;而Java则因其强大的服务器端处理...
BlazeDS是一个由Adobe提供的开源项目,主要功能是实现Java应用程序与Flex客户端之间的远程调用(Remoting)和Web消息传递(Messaging)。通过BlazeDS,我们可以轻松地在浏览器中的Flex应用和后端Java服务之间建立...
- **Flex使用代理方法通信C#**:在Flex的事件处理函数中,通过代理类调用C#的方法,并传递参数。 - **C#端CsServer类保存窗体对象**:在C#的CsServer类中,通常会保存一个对C#主窗体的引用,以便能够访问C#的成员...
综上所述,这个“FLEX网站源码”压缩包可能是多个Flex项目的源代码集合,包括了MXML文件、ActionScript类、配置文件等,对于想要深入学习Flex技术或进行Flex应用开发的人来说,是一份宝贵的参考资料。通过研究这些...
Flex提供了强大的状态管理机制,如ViewStack和FormNavigator,可以轻松处理不同页面间的交互和数据传递。同时,ModelLocator和ServiceLocator设计模式可以帮助管理与后端交互的数据和服务。 8. **安全性考虑** 当...
此外,BlazeDS还支持消息通道(Message Channels),如Topic和PollingDuplex,这些通道允许实现发布/订阅模式的消息传递,进一步增强Flex与Spring之间的通信能力。 在实际开发中,我们还需要考虑安全性问题。例如,...
3. **数据序列化与反序列化**:在发送数据前,需要将Flex中的数据对象序列化为字符串或XML格式,以便服务器可以解析。同时,在服务器生成Excel文件后,可能需要将其转换为二进制流并返回给Flex。 4. **文件下载**:...
这个示例项目将帮助初学者理解Red5与Flex之间的通信机制以及如何实现前后台交互。 首先,让我们来了解Red5。Red5是用Java编写的,支持实时流传输协议(RTMP),使得它可以处理音频、视频和数据流。在本聊天室项目中...
在某些情况下,Flex组件可能需要与HTML页面中的JavaScript进行交互,例如传递上传状态或控制上传行为。 5. **SWF文件**:`KunLunUpFile.swf`和`playerProductInstall.swf`是Flex编译生成的SWF文件,前者是我们的...
8. **Flex与后台交互.docx** - 这部分可能会更深入地探讨Flex与各种后台技术的交互,如使用AMF进行二进制数据交换,或者是使用HTTPService、WebService等技术进行远程调用。 9. **Flex基础知识.docx** - 这是Flex的...
- Flex客户端通过HTTP服务调用Java后台接口,传递DataGrid的数据。 - 使用AMF(Action Message Format)或者HTTP POST请求,将Flex中的数据发送到服务器。 - Flex端处理响应,接收到Excel文件的二进制流后,可以...
8. **配置服务连接**:在Flex项目中,定义服务连接,指定BlazeDS或GraniteDS的服务URL,使Flex客户端能够找到Java后台。 9. **创建Java后端**:编写Java类,实现业务逻辑和服务接口。这些接口需要与Flex客户端的...
2. 在服务器端定义对应的Java类和方法,确保与Flex端的命名空间和接口匹配。 3. 在Flex客户端调用RemoteObject的方法,传递参数,实现远程调用。 4. 处理服务器返回的数据,通常使用EventDispatcher和Responder来...
在Flex和Java结合的环境中,实现...综上所述,Flex与Java结合的Excel导出涉及到前端的事件处理、参数传递、样式定义,以及后端的数据获取、Excel文件的生成和返回,整个过程需要良好的前后端交互设计和数据处理策略。
#### 深入解析:BlazeDS在Flex与后台代码交互中的角色 BlazeDS是一款由Adobe开发的强大服务器端技术,用于实现Flex、AIR和Java应用程序之间的实时通信。它允许开发者在Flex前端与Java后端之间构建高效的数据流和...
远程对象(RemoteObject)是Flex与后台服务通信的一种机制,它封装了AMF(Action Message Format)协议,这是一种高效的二进制数据交换格式,用于在Flex客户端和Java服务之间传递数据。AMF能够显著提高数据传输效率...
这些接口会被Flex客户端调用,通过HTTP或AMF请求传递数据。 6. 前后端交互:在Flex中使用HTTPService或 BlazeDS / LCDS 来调用Spring服务,将请求发送到后端。后端处理完业务逻辑后,将结果返回给Flex客户端,展示...
在Flex端,你需要创建一个Flex项目,导入相应的库(如Flex SDK和BlazeDS的SWC文件),然后定义与Java服务交互的代理类。你可以使用`RemoteObject`组件来调用Java方法,传递参数并接收返回结果。在Flex的MXML或...