flex 前后台类的传递
前台的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 Constructorpublic FlowType(){super();}// full Constructorpublic FlowType(Integer pkId , Integer flowId , Integer typeId){super();this.pkId = pkId;this.flowId = flowId;this.typeId = typeId;}// auto Constructorpublic 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>