前台的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>