您当前的位置: 首页 >  ar

_waylau

暂无认证

  • 3浏览

    0关注

    275博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4 (完)

_waylau 发布时间:2012-02-22 09:42:57 ,浏览量:3

 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4

----add cairngorm

1.添加在libs 下 添加Cairngorm.swc ,此时,具备了cairngorm框架能力

2.运用cairngorm框架

2.1 在flex_src 下创建如下文件夹 和 文件

 

 

 

AdminVO.as

package vo.AdminVO
{
	[Bindable]
	public class AdminVO
	{
		public var username:String;
		public var password:String;
		public var age:String;
		public var email:String;
	}
}

###################
AdminModel.as


package model.AdminModel
{
	import mx.collections.ArrayCollection;
	
	import vo.AdminVO.AdminVO;

	[Bindable]
	public class AdminModel
	{
		public var adminDatas:ArrayCollection = new ArrayCollection();
		public var adminVO:AdminVO = new AdminVO();
		public var value :String = '' ;
	}
}





#######################
AppModelLocator.as

package model
{
	import com.adobe.cairngorm.model.ModelLocator;
	
	import model.AdminModel.AdminModel;
	
	[Bindable]
	public class AppModelLocator implements ModelLocator
	{
		private static var __instance:AppModelLocator = null;
		
		public static  function getInstance():AppModelLocator 
		{ 
			if(__instance == null) 
			{ 
				__instance=new AppModelLocator(); 
			} 
			return __instance;
		}
		//提供单例 model

		public var adminModel:AdminModel = new AdminModel();
		
	}
}

###################
AdminEvent.as

package event.AdminEvent
{
	import com.adobe.cairngorm.control.CairngormEvent;

	public class AdminEvent extends CairngormEvent
	{
		//事件名称
		
		public static const ADMIN_LOGIN_EVENT:String="adminLoginEvent"; //企业能耗曲线图
		
		//事件类型
		public var event_type:String="";
		
		public function AdminEvent(type:String)
		{
			this.event_type=type;
			
			super(type);
		}
	}
}
#################################
Services.mxml



	
	
	
		
	


#################################
AdminDL.as

package business.delegates
{
	public class AdminDL
	{
		import com.adobe.cairngorm.business.ServiceLocator;
		import mx.rpc.AsyncToken;
		import mx.rpc.IResponder;
		import mx.rpc.remoting.RemoteObject;
		
		public var serviceLocator:ServiceLocator = ServiceLocator.getInstance();
		
		public var _remoteobject:RemoteObject;
		
		public var _responder:IResponder; 
		
		public function AdminDL(responder:IResponder)  
		{ 
			_remoteobject = serviceLocator.getRemoteObject("adminRO");
			_responder = responder; 
		} 
		public function getDate(username:String):void 
		{ 
			var token:AsyncToken = _remoteobject.firstApp(username);
			token.addResponder(_responder); 
		} 
	}
}

############################
AdminCommand.as

package commands.AdminCommand
{
	import business.delegates.AdminDL;
	
	import com.adobe.cairngorm.commands.ICommand;
	import com.adobe.cairngorm.control.CairngormEvent;
	
	import event.AdminEvent.AdminEvent;
	
	import model.AppModelLocator;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.rpc.Responder;
	import mx.rpc.events.FaultEvent;
	import mx.rpc.events.ResultEvent;
	
	import vo.AdminVO.AdminVO;
	
	public class AdminCommand implements ICommand
	{
        private var _model:AppModelLocator =  AppModelLocator.getInstance();
		private var adminEvent:AdminEvent ;  //or  public 
		
		public function execute(event:CairngormEvent):void
		{
			adminEvent = event as AdminEvent;
			if(adminEvent.type == AdminEvent.ADMIN_LOGIN_EVENT){
				var responder:Responder = new Responder(result,fault);
				var dl:AdminDL = new AdminDL(responder);
				dl.getDate(_model.adminModel.adminVO.username);
			}
		}
		
		private function result(e:ResultEvent):void{
			if(e.result !=null)
			{
				/**********返回列表*************/
				_model.adminModel.adminDatas.removeAll();
				var tempList:ArrayCollection = e.result as ArrayCollection;
				var arr:Array = tempList.toArray();
				
				for(var a:String in arr){
					var data:AdminVO = new AdminVO();
					
					data.username = arr[a][0];
					data.password = arr[a][1];
					data.age = arr[a][2];
					data.email = arr[a][3]
					
					_model.adminModel.adminDatas.addItem(data);
				}
			}else{
				Alert.show("查找失败!");
			}
		}
		//如果请求发送不成功则执行
		private function fault(e:FaultEvent):void{
			Alert.show("请求发送失败!");
		}
	}
}

###############################
AppControl.as

package control
{
	import com.adobe.cairngorm.control.FrontController;
	import event.AdminEvent.AdminEvent;
	import commands.AdminCommand.AdminCommand;
	
	public class AppControl extends FrontController
	{
		public function AppControl()
		{
			super();
			//注册一个事件,将其与一个命令绑定
			this.addCommand(AdminEvent.ADMIN_LOGIN_EVENT,AdminCommand);
		}
	}
}
2.2将FlexJ2ee.mxml置于views文件夹下
修改代码如下


	
		
		
	
	
		
	
	
	
	
	
	
	
	
	
		
			
			
			
			
		
	

 

2.3修改FlexJ2ee.mxml的启动路径

右键FlexJ2ee.mxml

 

3.配置项目
3.1 将remoting-config.xml中的
	 
	        
	            
	                com.Hello
	            
	        
	 
删除

3.2 在WEB-INF下 添加 flex-servlet.xml  对flex 消息进行管理



	
		
		
	

 

3.2 在WEB-INF下 添加spring文件夹,并在底下创建3个配置文件

 

 

 

app-config.xml



  
  
	

	

	


	
	
		
		
	
	
		
			
			
			
			
			
			
		
	
	
		
		
	


#######################
infrastructure-config.xml





	
		
		
		
		
		
	
	
		
			
		
		
			
				
					org.hibernate.dialect.MySQLDialect
				
			
		
	

#######################
security-config.xml




    
        
    
    
    
    
    
       
           
            
            
            
           
       
    



3.3 修改  web.xml为:




    BlazeDS Spring Integration Application
    BlazeDS Spring Integration Application

    
        contextConfigLocation
        
            /WEB-INF/spring/*-config.xml
        
    
    
    
        springSecurityFilterChain
        org.springframework.web.filter.DelegatingFilterProxy
    

    
      springSecurityFilterChain
      /*
    

    
    
        flex.messaging.HttpFlexSession
    

    
        org.springframework.web.context.ContextLoaderListener
    

       
    
        flex
        org.springframework.web.servlet.DispatcherServlet
        1
    


    
        flex
        /messagebroker/*
     

    
        index.html
        index.htm
    


 

4.将项目部署至tomcat, 右键运行FlexJ2ee.mxml

在Reciver中输入 数据库中数据 lww 或者 xyp,结果如下

下载地址

 http://download.csdn.net/detail/kkkloveyou/4079415

关注
打赏
1651845987
查看更多评论
立即登录/注册

微信扫码登录

0.0389s