Flexѧϰ±Ê¼Ç
ʲôÊÇCairngorm£¿
Cairngorm£¨ÖÐÎÄÃû£º“ÑÌË®¾§”£¿£©ÊÇÒ»¸öÇáÁ¿¼¶µÄFlex RIA³ÌÐò¿ª·¢¿ò¼Ü£¬´Ó¶øÊ¹³ÌÐò¿ÉÀ©Õ¹ÐÔ¡¢¿Éά»¤ÐÔ¶¼´ó´óÌá¸ß£¬Æä±¾Éí²¢²»ÊÇÒ»¸öÍêÕûµÄÆóÒµÓ¦Óã¬ËüÖ»ÊÇÌṩÁËÒ»¸ö¿ª·¢¹Ç¼Ü£¬Adobe³ÆÖ®ÎªÌåϵ¡£
CairngormÌåϵ
Ö÷Òª°üÀ¨ÒÔϼ¸¸ö²¿·Ö£º
1¡¢VO£¨Value Object£©
IValueObject ºÍ ValueObject Ö»ÊÇΪÁËÌá¸ßVOÀàµÄ¿É¶ÁÐÔ£¬±íʾ¸ÃÀàÊÇÒ»¸öValueObjectÀ࣬ÆäËüûÓÐÈκÎʵ¼Ê×÷Óá£Æä¿ÉÄÜÊÇΪ½«À´¶øÉè¼ÆµÄ£¬ÎÒÃÇÔÚÓ¦Óùý³ÌÖв»ÐèҪʵÏÖÈκνӿں¯Êý¡£
2¡¢Model
¶¨ÒåÁËModelLocator½Ó¿Ú£¬ÎÒÃÇÖ»ÐèҪʵÏָýӿڣ¬°ÑËùÐèÒª°ó¶¨µÄÊý¾Ý±£´æÔÚÕâÀͨ³£ÎÒÃǶ¼²ÉÓõ¥Àýģʽ£¨Singleton Pattern£©À´ÊµÏÖ£¬²¢°´ÕÕÏîĿģ¿é½øÐзÖÀ࣬±ÜÃâ°ÑÕû¸öÏîÄ¿µÄËùÓÐÊý¾Ý¶¼±£´æÔÚÒ»¸öÀàÎļþÖС£»»¾ä»°Ëµ£¬ModelLocatorÊÇÕû¸öϵͳµÄÊý¾ÝÖÐÐÄ¡£
3¡¢View
ÓÐViewHelper.as ºÍ ViewLocator.as£¬ÔÚCairngorm2.2.1°æ±¾ÖÐÒѱ»·Ï³ý¡£
4¡¢Commands
¶¨ÒåÁËICommand½Ó¿Ú£¬¸Ã½Ó¿Ú¶¨ÒåÁËÒ»¸öΨһÐèҪʵÏֵķ½·¨execute()£¬ÕâÆäʵ¾ÍÊǵäÐ͵ÄÃüÁîģʽ£¬ÎÒÃÇֻҪʵÏִ˽ӿڣ¬²¢²»ÐèÒª¹ØÐÄÆä¾ßÌåʵÏÖ·½Ê½¡£
5¡¢Control
º¬Èý¸ö»ùÀࣺCairngormEvent¡¢CairngormEventDispatcherºÍFrontController¡£
£¨1£©CairngormEvent£º
¼Ì³Ðflash.events.Event£¬Æä°üº¬Ò»¸ödata³ÉÔ±£¬ÓÃÀ´´«µÝ²ÎÊýÊý¾ÝÖ®Óá£
£¨2£©CairngormEventDispatcher£º
²ÉÓõ¥Àýģʽ(Singleton Pattern)£¬ÓÃÀ´¹ã²¥Óû§·¢ÆðµÄ×Ô¶¨Ò嶯×÷ʼþ¡£
£¨3£©FrontController£º
Ï൱ÓÚ¿ØÖÆÖÐÐÄ£¬ÔÚÕâÀïÄãÒª×öµÄ¹¤×÷Êǽ«Ê¼þ£¨CairngormEvent£©ºÍÃüÁCommand£©Ö®¼äµÄÓ³Éä¹ØÏµ×¢²áÔÚËüµÄ
³ÉÔ±commands£¨DictionaryÀàÐÍ£©ÖУ¬Í¨¹ýÏÂÃæµÄÀàËÆ·½·¨½øÐÐ×¢²á£º
addCommand( GetProductsEvent.EVENT_GET_PRODUCTS, GetProductsCommand );
ÒԺ󣬷²ÊÇCairngormEventDispatcher¹ã²¥³öÀ´µÄʼþ£¬Ê×Ïȶ¼»áÔÚÕâÀï²éÕÒ£¬ÕÒµ½¶ÔÓ¦µÄevent¶ÔÓ¦µÄcommandºó£¬
±ãÖ´ÐÐCommandµÄexecute()·½·¨¡£
FrontController±ØÐëÒªÔÚÄãµÄϵͳÖÐʵÀý»¯£¬¾ßÌåµÄʵÀý»¯·½·¨ÈçÏ£º
1 <mx:Application xmlns:control="com.domain.projectname.control.ShopController">
2 ...
3 <control:ShopController id="controller" />
4 ...
5 </mx:Application>
6¡¢Business
IServiceLocator½Ó¿Ú£º
ÌṩÁËHTTPService¡¢WebSercice¡¢RemoteObjectÈýÖÖRPC·þÎñ¡£Ê¹ÓÃʱºò£¬½«ÐèÒªµÄRPC·þÎñµÇ¼ÇÔڸýӿÚÖУ¬
ÒÔ
Ïà¹ØÎĵµ£º
ÍøÉÏÄܲ鵽ºÜ¶àÀàËÆ×ÊÁÏ£¬µ«ÍêÕûÐÔ²»¸Ò¹§Î¬¡£ÒÔÏÂÊǽâ¾ö·½°¸¼°Òªµã£º
·½·¨Ò»£º
ͨ¹ýurlµÄ·½Ê½Ïòflex´«²ÎÊý
µÚ1²½£ºÔÚÍøÒ³ÖÐÉèÖÃÒ»¸öÁ´½Ó£¬Èç <a
href="test.jsp?p1=test1&p2=test2">²âÊÔÁ´½ÓÒ»</a>£¬ÆäÖÐtest.jspǶÈëÁË
flash
µÚ2²½£º»ñÈ¡²ÎÊý
var params:Object
=URLUtil.parseUrlPara ......
¹ØÓÚflexÈçºÎÏòij¸öÒ³Ãæ´«µÝ²ÎÊý£¬ÎÒÒÔǰÓÐÕâ·½ÃæµÄ±Ê¼Ç£¬flexͨ
¹ý·ÇAmfPHP;¾¶Óëºǫ́½»»¥
ÖÐURLLoader+URLRequest+URLVariables·½·¨Ò²¿ÉÒÔÓÃÓÚÏòflexÒ³Ãæ´«²ÎÊý¡£ºó
̨php¶Ë½ÓÊÕ²ÎÊýºÜ¼òµ¥£¬ÏÖÔÚÌÖÂÛÒ»ÏÂflex¶ËÈçºÎ´¦ÀíÒ³Ãæurl´«µÝ¹ýÀ´µÄ²ÎÊý¡£
ÍøÉÏÕâ·½ÃæÎÄÕ²»ÉÙ£¬²»¹ý¶¼¶àÉÙÓÐЩÎÊÌ⣬ÎÒ×ܽáһϣ¬Ð´ÔÚÕâÀï¡£
·½· ......
½ÓÏÂÀ´µÄÀý×ÓÑÝʾÁËFlexÖÐÈçºÎͨ¹ýiconÑùʽ´ÓSWFÖÐÖ¸¶¨Ò»¸öButton¡£
ÈÃÎÒÃÇÏÈÀ´¿´Ò»ÏÂDemo£¨¿ÉÒÔÓÒ¼üView Source»òµã»÷ÕâÀï²ì¿´Ô´´úÂ룩£º
ÏÂÃæÊÇÍêÕû´úÂë(»òµã»÷ÕâÀï²ì¿´)£º
Download: main.mxml<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  ......
/**=========main.mxml=========*/
/* µ¼³öexcel */
private function exp():void{
if(dgEnterprise.dataProvider==null){
Alert.show("Êý¾ÝΪ¿Õ£¬ÎÞ·¨µ¼³öexcel","ÓÑÇéÌáʾ");
}else{
ExportExccel.loadDGInExcel(dgEnterprise,"/ssfxSystem/excelexport.jsp?tableName=ÆóÒµÐÅÏ¢");
}
}
/**===== ......
ÏÖÔÚÓÐÒ»¸ö¹¤³ÌÊÇjava web project£¬»¹ÓÐÒ»¸ö¹¤³ÌÊÇflex¹¤³Ì£¬°²×°µÄÊÇflex builder 4Õýʽ°æ¡£·¢ÏÖÔÚÐÞ¸Äflex¹¤³ÌÊôÐԵĹ¹½¨Â·¾¶Ê±£¬Ð޸Ľá¹û²»Äܱ£´æ¡£ ½â¾ö°ì·¨£º ÔÚ.actionScriptPropertiesÎļþÖУ¬ÕÒµ½Â·¾¶Ö±½ÓÐ޸ġ£ ......