??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产99,91精品国产91久久久久久,久久成人福利http://www.aygfsteel.com/caizh2009/category/40726.html与大家共同成?/description>zh-cnThu, 27 Aug 2009 11:39:28 GMTThu, 27 Aug 2009 11:39:28 GMT60Flex与IE~存的问?http://www.aygfsteel.com/caizh2009/archive/2009/08/26/292633.html菜毛毛菜毛毛Wed, 26 Aug 2009 05:06:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/26/292633.htmlhttp://www.aygfsteel.com/caizh2009/comments/292633.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/26/292633.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/292633.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/292633.html 本h解决的方法,保证可用?br /> dqo(h)器(代码如下Q?br /> package com.cn.util;

import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.HttpServletResponse;

public class ForceNoCacheFilter implements Filter {    
 
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException    
{    
  ((HttpServletResponse) response).setHeader("Cache-Control","no-cache");    
  ((HttpServletResponse) response).setHeader("Pragma","no-cache");    
  ((HttpServletResponse) response).setDateHeader ("Expires", -1);    
  filterChain.doFilter(request, response);    
}    
public void destroy()    
{    
}    
   public void init(FilterConfig filterConfig) throws ServletException    
{    
}    
}    

然后在web.xml中添加这个过滤器
<filter>
    <filter-name>NoCache</filter-name>
    <filter-class>com.cn.util.ForceNoCacheFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>NoCache</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

com.cn.util.ForceNoCacheFilter为刚才过滤器的包?cd,/*为匹配所有请求?br />
q样你所有的h都将?x)传到服务器处理Q不?x)查看缓存了?

Ҏ(gu)二:(x)
inComeHttp.url="familyGroup.do?method=query&tmp="+Math.random();
url上随意传一个随机数

菜毛毛 2009-08-26 13:06 发表评论
]]>
flex多module切换问题http://www.aygfsteel.com/caizh2009/archive/2009/08/19/291784.html菜毛毛菜毛毛Wed, 19 Aug 2009 05:35:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/19/291784.htmlhttp://www.aygfsteel.com/caizh2009/comments/291784.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/19/291784.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291784.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291784.htmlflex多module切换问题
错误描述Q?br />
typeError: Error #
1034: 强制转换cdp|:无法?nbsp;mx.graphics::Stroke@b945581 转换?nbsp;mx.graphics.IStroke?br />  at mx.charts::AxisRenderer/measure()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\AxisRenderer.as:1091]
 at mx.core::UIComponent
/measureSizes()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:5819]
 at mx.core::UIComponent
/validateSize()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:5765]
 at mx.managers::LayoutManager
/validateSize()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:559]
 at mx.managers::LayoutManager
/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:648]
 at Function
/http://adobe.com/AS3/2006/builtin::apply()
 at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460]
 at mx.core::UIComponent
/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]

错误说明Q当我在多module切换的时候就p个错Q特别要说明的是在切换时的连个module昄的图形,一个是自己ȝQ一个用的flex自带的,自己ȝ中里面用的是IStrokeQ但是自带的囑Ş是StrokeQ所以切换的时候就抱错Q?br />
解决Ҏ(gu)Q?br />
如果你是用的是IModuleInfo的话的load的时候添加ApplicationDomain.currentDomain参数可以了Q?br />
如:(x)info.load(ApplicationDomain.currentDomain);

如果你用的是loadModule的话Q则q样

aa.applicationDomain
=ApplicationDomain.currentDomain;
    aa.loadModule();


Ҏ(gu)二:(x)
 /*  Create dummy variables.  */
             // 避免出现Q无法将 mx.managers::PopUpManagerImpl@52a09a1 转换?mx.managers.IPopUpManager 错误
             private  var dragManager : DragManager;
             private  var popUpManager : IPopUpManager;
在应用中d上如上代?

菜毛毛 2009-08-19 13:35 发表评论
]]>
flex模块加蝲问题http://www.aygfsteel.com/caizh2009/archive/2009/08/18/291660.html菜毛毛菜毛毛Tue, 18 Aug 2009 09:31:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/08/18/291660.htmlhttp://www.aygfsteel.com/caizh2009/comments/291660.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/08/18/291660.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/291660.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/291660.htmlflex开发中各个功能分解到模块中,但在加蝲各个模块的时候需要注意一下问题:(x)
加蝲Ҏ(gu)Q?
private function init():void
{
module = mx.modules.ModuleManager.getModule("UIModule/HR/Holiday/Config/frmHolidayMain.swf");
module.addEventListener(mx.events.ModuleEvent.READY,ready);
module.load();


// general=ModuleLoader(mx.managers.PopUpManager.createPopUp(this,ModuleLoader));
//
//           general.url="test3.swf";
//          
//           general.loadModule();
}
private function ready(e:ModuleEvent):void
{
var moduleInfo:IModuleInfo = e.target as IModuleInfo
var wind:MDIWindow = new MDIWindow();


wind.addChild(moduleInfo.factory.create() as DisplayObject);


testcanvas.windowManager.add(wind);

}
需要注意的一Ҏ(gu) module 对象的定义一定要定义为全局的否则ready事g是不能执行的。具体原因不知道Q个人理解ؓ(f)到readyҎ(gu)中无法找到module对象?


flex 装蝲多个module出现的问题Error #1034: 强制转换cdp| 收藏
摘自http://bzhang.javaeye.com/blog/322148
TypeError: Error #1034: 强制转换cdp|:无法?Object@1aee90b1 转换?mx.messaging.messages.IMessage?


需求背?Q?
通过?wi)Ş菜单加蝲多个不同的module?
问题现象 Qmodule面存在拖动QPopupQAlert或者colorpicker出现错误信息Q?
TypeError: Error #1034: 强制转换cdp|:无法?mx.managers::PopUpManagerImpl@7155ac1 转换?mx.managers.IPopUpManager?
解决Ҏ(gu) Q?
在Application加入如下代码引用Q?
     < mx:Script >
         <! [CDATA[
             import  mx.managers.DragManager;
             import  mx.managers.IPopUpManager;           
           
             /*  Create dummy variables.  */
             // 避免出现Q无法将 mx.managers::PopUpManagerImpl@52a09a1 转换?mx.managers.IPopUpManager 错误
             private  var dragManager : DragManager;
             private  var popUpManager : IPopUpManager;
          
            //process....

        ]]>
    </mx:Script>
问题原因分析 Q?
属于ModuleLoader shared code problem .
当Module中用managersӞ如PopUpManagerQDragManager, HistoryManager{?则可能出现这个问?当application里在loader之前没有引入q些manager的引用时)?
manager 的方法是静态方法,整个应用E序中创Z一个该manager接口的singleton实例,但module仅在自己?Application domain中用该单例, 当多个module使用同一个单例manager且main application没有使用Ӟ׃(x)出现q个I对象引用问题:(x)W一个引入某manager的module不能该manager接口?singleton跟其他module׃nQ其他module调用该Manager的方法时Q应用程序不?x)再创徏该manager接口的实例,q个 module无法引用到该manager接口的实?出CI对象引用问?
参考资料:(x)Flex sdk源码?

目前在Application创徏了些Application范围内没有用到?木偶变量"Q从代码可读性上来说不是很好。有其他比较好的解决Ҏ(gu)的同学麻?ch)请告之?:)

posted on 2008-11-22 17:33 钩子 阅读(1118) 评论(1)  ~辑  收藏 所属分c? jee 、ria 、工作笔?

<noscript type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90); //]]> </noscript>
Feedback
#   re: FLEX:multiple moduleloader occur #1034 error 2008-11-24 10:14 钩子
同事推荐了个更好的办法:(x)
在ModuleLoader 的creationCompleteҎ(gu)中加入如下代码:(x)
moduleLoader.applicationDomain = ApplicationDomain.currentDomain;
可以在Application里切换多个module而不需要在Application里明文引用单例manager声明。比我上面所说的Ҏ(gu)更好的能解决问题而且Q代码可L更好?
另外Q推荐在moduleloader做切换的时候,加上Q?
moduleLoader.unloadModule再做moduleLoader.loadModule().

在这里做个小记?

http://blog.csdn.net/yzsind/archive/2009/03/27/4031066.aspx


菜毛毛 2009-08-18 17:31 发表评论
]]>
Flex DataGrid从XML文g中加载数?/title><link>http://www.aygfsteel.com/caizh2009/archive/2009/07/30/289188.html</link><dc:creator>菜毛毛</dc:creator><author>菜毛毛</author><pubDate>Thu, 30 Jul 2009 15:07:00 GMT</pubDate><guid>http://www.aygfsteel.com/caizh2009/archive/2009/07/30/289188.html</guid><wfw:comment>http://www.aygfsteel.com/caizh2009/comments/289188.html</wfw:comment><comments>http://www.aygfsteel.com/caizh2009/archive/2009/07/30/289188.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/caizh2009/comments/commentRss/289188.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/caizh2009/services/trackbacks/289188.html</trackback:ping><description><![CDATA[<p>datagrid.mxml-----------------------------------------------------------------------------------<br /> <?xml version="1.0" encoding="utf-8"?><br /> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"<br />      creationComplete="srv.send()"><!-- 发送HTTPServiceh--><br />     <br />     <mx:Script ><br />         <![CDATA[<br />             import mx.collections.XMLListCollection;<br />             import mx.collections.ArrayCollection;<br />             import mx.rpc.events.ResultEvent;<br />             [Bindable]<br />             private var users:XML;</p> <p>          private  function resultUsers(event:ResultEvent):void{//处理l果<br />           users = XML(event.result);<br />           datagrid.dataProvider=users.children();//XMLList<br />           <br />           }<br />         ]]><br />     </mx:Script><br />     <br />     <mx:HTTPService url="user.xml" useProxy="false" id="srv" resultFormat="xml" result="resultUsers(event)"><!--处理l果函数--><br />         <br />     </mx:HTTPService><br />         <mx:Panel x="416" y="75" width="458" height="269" layout="absolute" id="panel" title="用户信息" fontSize="14" fontWeight="bold" fontFamily="Verdana" color="#BB8BDD" borderStyle="solid" borderThickness="3" borderColor="#0E0505" cornerRadius="20" themeColor="#A3C2D8" alpha="0.85" backgroundColor="#FFFFFF" backgroundAlpha="0.84"><br />                 <mx:DataGrid x="32" y="10" width="374" height="193" id="datagrid" enabled="true" fontSize="13" fontWeight="bold" textAlign="center" color="#526BBE" borderColor="#C0C8CC" themeColor="#A9B1B3" alpha="0.86" alternatingItemColors="[#E9E9E9, #EFF8F9]" borderStyle="inset"><br />                     <mx:columns><br />                         <mx:DataGridColumn headerText="ID" dataField="ID"/><br />                         <mx:DataGridColumn headerText="姓名" dataField="name"/><br />                         <mx:DataGridColumn headerText="q龄" dataField="age"/><br />                     </mx:columns><br />                 </mx:DataGrid>              <br />         </mx:Panel><br /> </mx:Application></p> <p>--------------------user.xml--------------------------------------------------------------------------------------------------------------------<br /> <?xml version="1.0" encoding="utf-8"?><br /> <users><br />     <user><br />        <ID>213001</ID><br />        <name>飞机</name><br />        <age>22</age><br />    </user><br />    <user><br />        <ID>213003</ID><br />        <name>痞子</name><br />        <age>23</age><br />    </user><br />    <user><br />        <ID>213006</ID><br />        <name>嗨嗨</name><br />        <age>22</age><br />    </user><br />    <user><br />        <ID>213013</ID><br />        <name>强</name><br />        <age>21</age><br />    </user><br />    <user><br />        <ID>213015</ID><br />        <name>萧萧</name><br />        <age>22</age><br />    </user><br />    <user><br />        <ID>213016</ID><br />        <name>敏</name><br />        <age>22</age><br />    </user><br /> </users></p> <p>文章出处Qhttp://www.diybl.com/course/4_webprogram/xml/xml_js/200855/113849.html</p> <img src ="http://www.aygfsteel.com/caizh2009/aggbug/289188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/caizh2009/" target="_blank">菜毛毛</a> 2009-07-30 23:07 <a href="http://www.aygfsteel.com/caizh2009/archive/2009/07/30/289188.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flex和后端的数据交互(?Q-<mx:request/>?lt;mx:form/>http://www.aygfsteel.com/caizh2009/archive/2009/07/28/288713.html菜毛毛菜毛毛Tue, 28 Jul 2009 05:55:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/07/28/288713.htmlhttp://www.aygfsteel.com/caizh2009/comments/288713.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/07/28/288713.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/288713.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/288713.html 嵌套到HTTPService标签中实现参数的提交。如下例所C:(x)
Xml代码 复制代码
  1. <mx:request>  
  2.       <txtPara>{txtPara.text}</txtPara>  
  3.  </mx:request>  

其中txtPara是发送到服务器端参数的名城,标签体是参数|而标{体的值就是下Ҏ(gu)本框的倹{?
以下是完整的mxml文gQ?
Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >  
  3.     <mx:Script>     
  4.       <![CDATA[    
  5.         import mx.rpc.events.ResultEvent;                
  6.         import mx.controls.Alert;                        
  7.         private function httpHandle(e:ResultEvent):void   
  8.         {  
  9.             Alert.show(e.result.Result);  
  10.         }  
  11.         ]]>     
  12.     </mx:Script>     
  13.     <mx:HTTPService id="myHttp" url="http://localhost:8080/myflex/http" showBusyCursor="true" result="httpHandle(event);" useProxy="false">  
  14.         <mx:request>  
  15.             <txtPara>{txtPara.text}</txtPara>  
  16.         </mx:request>  
  17.     </mx:HTTPService>  
  18.     <mx:Panel title="TEST HTTPService" width="368" height="140" x="78" y="30" layout="absolute">  
  19.         <mx:Label text="PARA" x="110" y="26"/>     
  20.         <mx:TextInput id="txtPara" x="161" y="24" width="95"/>    
  21.         <mx:Label text="The para sent to service is:" x="58" y="53"/>  
  22.         <mx:Label x="126" y="53" id="lblResult"/>     
  23.         <mx:Button label="Submit" click="myHttp.send()" x="277" y="53"/>      
  24.     </mx:Panel>  
  25. </mx:Application>  

在服务器端就可以从request中取到txtPara参数的|q里没有做过多处理,只是在后端取到这个值又通过xml形式q还到客L(fng)?
q是例子q行的截图:(x)


mx:requestlg一般是l合mx:formlg一起用,flex提供了完备的数据校验功能Q如对字W串的校验mx:StringValidator?
对电(sh)话号码验证的mx:PhoneNumberValidator、对日期验证的mx:DateValidator、对?sh)子邮g验证的mx:EmailValidator、对邮编验证
的mx:ZipCodeValidator{等。下面这个示例来自Flex的在U文档,主要展示flex的form验证功能Q没有数据的提交?

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!-- Simple example to demonstrate Form layout container. -->  
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">  
  4.     <mx:Panel title="Form Container Example" height="75%" width="75%"    
  5.         paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">  
  6.         <mx:Text width="100%" color="blue"  
  7.             text="Moving from one form field to another triggers the validator."/>  
  8.         <mx:Form width="100%" height="100%">  
  9.             <mx:FormHeading label="Enter values into the form."/>  
  10.             <mx:FormItem label="First name">  
  11.                 <mx:TextInput id="fname" width="200"/>  
  12.             </mx:FormItem>  
  13.             <mx:FormItem label="Date of birth (mm/dd/yyyy)">  
  14.                 <mx:TextInput id="dob" width="200"/>  
  15.             </mx:FormItem>  
  16.             <mx:FormItem label="E-mail address">  
  17.                 <mx:TextInput id="email" width="200"/>  
  18.             </mx:FormItem>  
  19.             <mx:FormItem label="Age">  
  20.                 <mx:TextInput id="age" width="200"/>  
  21.             </mx:FormItem>  
  22.             <mx:FormItem label="SSN">  
  23.                 <mx:TextInput id="ssn" width="200"/>  
  24.             </mx:FormItem>  
  25.             <mx:FormItem label="Zip">  
  26.                 <mx:TextInput id="zip" width="200"/>  
  27.             </mx:FormItem>  
  28.             <mx:FormItem label="Phone">  
  29.                 <mx:TextInput id="phone" width="200"/>  
  30.             </mx:FormItem>  
  31.         </mx:Form>  
  32.     </mx:Panel>  
  33.   
  34.     <mx:StringValidator source="{fname}" property="text" minLength="4" maxLength="12"/>  
  35.     <mx:PhoneNumberValidator source="{phone}" property="text"/>  
  36.     <mx:DateValidator source="{dob}" property="text"/>  
  37.     <mx:EmailValidator source="{email}" property="text"/>  
  38.     <mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"  
  39.         minValue="18" maxValue="100" domain="int"/>  
  40.     <mx:SocialSecurityValidator source="{ssn}" property="text"/>  
  41.     <mx:ZipCodeValidator source="{zip}" property="text"/>  
  42. </mx:Application>  

CZq行的截图:(x)
 

菜毛毛 2009-07-28 13:55 发表评论
]]>
flex和后端的数据交互(一)Q-XML和HTTPService(最常用的哦)http://www.aygfsteel.com/caizh2009/archive/2009/07/28/288711.html菜毛毛菜毛毛Tue, 28 Jul 2009 05:53:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/07/28/288711.htmlhttp://www.aygfsteel.com/caizh2009/comments/288711.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/07/28/288711.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/288711.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/288711.htmlflexQ参考了不少|上的资料,特别?中国flex开发者(http://www.flexer.cn/Q?span class="hilite1">flex数据交互是一个关键,做个学习(fn)ȝQ请flex老鸟指正Q?

flex和后端的数据交互有很多方式,flex可以使用ActionScriptd文gQxml、txtQ的形式存储昄数据Q?
?span class="hilite1">Flex 3.0中新增了Ҏ(gu)地数据库Q?db格式Q操作的c,可用于读取本地的数据库数据。新增了对PDF数据
操作的类Q可用于dPDF数据?

xml文g方式

XML优点是简单小巧、存储方ѝ检索快速。所以,XML常用于数据存储和数据交换?span class="hilite1">Flex 3.使用URLLoadercd方便C输XML数据?
使用XML方式传输数据的步骤如下所C?
新徏名ؓ(f)"tree.xml"文gQ用以存储XML数据:
Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menus>  
  3.     <node label="Mail">  
  4.         <node label="Inbox"/>  
  5.         <node label="Personal Folder">  
  6.             <node label="Demo"/>  
  7.             <node label="Personal"/>  
  8.             <node label="Saved Mail"/>  
  9.             <node label="bar"/>  
  10.         </node>  
  11.         <node label="Calendar"/>  
  12.         <node label="Sent"/>  
  13.         <node label="Trash"/>  
  14.     </node>  
  15. </menus>  

xml文g的读写我们可以用FileStreamcL实现Q?
dxml文gQ?
Javascript代码 复制代码
  1. var testXML:XML;   
  2. var file:File = File.documentsDirectory.resolvePath("tree.xml");   
  3. var fileStream:FileStream = new FileStream();   
  4. fileStream.open(file, FileMode.READ);   
  5. testXML = XML(fileStream.readUTFBytes(fileStream.bytesAvailable));   
  6. fileStream.close();  

写回xml文g
Javascript代码 复制代码
  1. var testXML:XML=<content>content</content>......;   
  2. var file:File = File.documentsDirectory.resolvePath("tree.xml");   
  3. var fileStream:FileStream = new FileStream();   
  4. fileStream.open(file, FileMode.WRITE);   
  5. var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';   
  6. outputString += testXML.toXMLString();   
  7. fileStream.writeUTFBytes(outputString);   
  8. fileStream.close();  

需要说明一下的是文件打开方式QFileMode
READ Q-讄文g打开方式为只?
WRITEQ-讄文g打开方式为写数据。文件不存在Q则创徏Q文件存在,则覆盖原有数据?
APPENDQ-讄文g打开方式加。文件不存在Q则创徏Q文件存在,则新数据从文件末ּ始增加?
UPDATEQ-讄文g打开方式写。文件不存在Q则创徏。设|该模式通常用于随机d讉K文g。可以从文g的Q意位|读取,写入数据Ӟ只有写入位置的存在字节被覆盖Q其他所有字节不受媄(jing)响?

q里我们使用URLRequestcL加蝲xml数据Q编写应用程序初始化处理函数l(f)oadXML?
变量Q用以指明XML文g路径?
public function loadXML():void//应用E序初始化处理函?
{
    //定义URLRequest实例Q指定文件地址?
    var request:URLRequest=new URLRequest("tree.xml");
    loader.load(request);//加蝲XML文g
    loader.addEventListener(Event.COMPLETE,completeHandle);     //d加蝲完成时的监听
}

loader.addEventListener(Event.COMPLETE,completeHandle)语句表示d对XML加蝲完成事g的监听。一旦加载完成执?
completeHandle函数。完成剩余MXML代码。剩余代码包括completeHandle函数Q?lt;mx:Tree>lg设计{?
以下代码是完整的MXML代码?
Java代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontFamily="simsun"    
  3.     fontSize="12" layout="absolute" width="242" height="442" creationComplete="loadXML()">   
  4.     <mx:Script>   
  5.           <![CDATA[   
  6.             import mx.collections.ArrayCollection;    
  7.             import mx.rpc.events.ResultEvent;          
  8.             public var loader:URLLoader=new URLLoader();   
  9.             public var menus:XML=new XML();            
  10.             public function loadXML():void             
  11.             {   
  12.                 var request:URLRequest=new URLRequest("tree.xml");   
  13.                 loader.load(request);    
  14.                 loader.addEventListener(Event.COMPLETE,completeHandle);   
  15.             }   
  16.             public function completeHandle(e:Event):void  
  17.             {   
  18.                 menus=XML(loader.data);               
  19.                 var results:XMLList=menus.node;       
  20.                 tree.dataProvider=results;    
  21.             }   
  22.           ]]>   
  23.     </mx:Script>   
  24.   
  25.     <mx:Tree id="tree" x="10" y="35" width="218" height="397" labelField="@label" />   
  26.     <mx:Label x="10" y="10" text="Tree Nodes From XML File"/>   
  27.  </mx:Application>  

q是q行l果截图Q?



<mx:HTTPService>lg方式


<mx:HTTPService>lg可与所有的后端E序交互。例如,ASP、ASP.Net、JSP、PHP{?
以下是一?lt;mx:HTTPService>lg语法CZQ?
<mx:HTTPService id="feedRequest" url="http://localhost:8080/myflex/helloworld?para_1=para_1&para_2=para_2" result="showResult(event)" />
id唯一标识该组Ӟurl是数据提交的地址Q可以在地址后面d参数Q提交到后端q行处理Q处理后
再返?span class="hilite1">Flex可识别的数据cdQ如数组型、XML型、Object型等?

<mx:HTTPService>lgq回的数据存储于ResultEventcM。?lt;mx:HTTPService>lg的result事g可处理HTTPE序q回的数据?
eg. <mx:HTTPService result="处理函数?>

q回的数据存储于ResultEventcȝresult属性下。各U数据的具体位置与HTTPE序的处理结果有兟?
数据q回后的处理Ҏ(gu)CZQ?
Java代码 复制代码
  1. import mx.rpc.events.ResultEvent;                          
  2. import mx.controls.Alert;                                 
  3.   
  4. private function showResult(e:ResultEvent):void  
  5. {   
  6.     Alert.show(e.result as String);                       
  7. }  


来一个简单的例子?x)让你更加明白的Q?

q是客户端mxml的源代码Q?
Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >  
  3.     <mx:Script>     
  4.       <![CDATA[    
  5.         import mx.rpc.events.ResultEvent;                
  6.         import mx.controls.Alert;                     
  7.           
  8.         private var arr:Array=new Array();               
  9.         private function addHandle():void             
  10.         {  
  11.             myHttp.url="http://localhost:8080/myflex/sum";                                                       
  12.             if(arr.length>0)                             
  13.                 myHttp.url+="?";  
  14.             for(var i:int=0;i<arr.length;i++)             
  15.             {  
  16.                 if(i!=arr.length-1)  
  17.                     myHttp.url+="num="+arr[i].para.toString()+"&";  
  18.                 else  
  19.                     myHttp.url+="num="+arr[i].para.toString();  
  20.             }  
  21.             Alert.show(myHttp.url);  
  22.             myHttp.send();                         
  23.         }  
  24.           
  25.         private function addData():void           
  26.         {  
  27.             var obj:Object=new Object();             
  28.             obj.para=txtPara.text;                  
  29.             arr.push(obj);                          
  30.             dg.dataProvider=arr;                     
  31.             txtPara.text="";                       
  32.             dg.validateNow();                        
  33.         }  
  34.           
  35.         private function delData():void           
  36.         {  
  37.             arr=new Array();                               
  38.             dg.dataProvider=arr;                   
  39.             dg.validateNow();                        
  40.         }  
  41.           
  42.         private function httpHandle(e:ResultEvent):void  
  43.         {  
  44.             lblResult.text=e.result.sumTag;  
  45.         }  
  46.         ]]>     
  47.     </mx:Script>     
  48.     <mx:HTTPService id="myHttp" showBusyCursor="true" result="httpHandle(event);" useProxy="false"/>  
  49.     <mx:Panel title="试HTTPService" width="368" height="334" x="78" y="30" layout="absolute">  
  50.         <mx:Label text="叠加参数Q? x="110" y="26"/>  
  51.         <mx:TextInput id="txtPara" x="161" y="24" width="95"/>    
  52.         <mx:DataGrid id="dg" x="76" y="64" height="166" width="179">  
  53.             <mx:columns>  
  54.                 <mx:DataGridColumn dataField="para" headerText="参数列表"/>  
  55.             </mx:columns>  
  56.         </mx:DataGrid>  
  57.         <mx:Button label="d" click="addData();" x="277" y="26"/>     
  58.         <mx:Button label="删除" click="delData();" x="277" y="64"/>     
  59.         <mx:Label text="叠加l果是:(x)" x="58" y="253"/>  
  60.         <mx:Label x="126" y="253" id="lblResult"/>     
  61.         <mx:Button label="计算" click="addHandle();" x="277" y="249"/>      
  62.     </mx:Panel>  
  63. </mx:Application>  

"http://localhost:8080/myflex/sum"是一个servlet的映地址QactionscriptҎ(gu)addHandle每一个数字参数添加到url映射?
址后面q且向服务器发送请求,addDataҎ(gu)把输入的数字昄C方列表,delDataҎ(gu)删除整个列表QhttpHandleҎ(gu)处理服务?
的返回倹{其中e.result.sumTag表示取得xmlq回数据中sumTag标签中的内容?
以下是servlet中对接收参数的处理:(x)
Java代码 复制代码
  1. public void doPost(HttpServletRequest request, HttpServletResponse response)   
  2.             throws ServletException, IOException   
  3.     {   
  4.         String[] para = request.getParameterValues("num");   
  5.         int sum = 0;   
  6.         if (para != null)   
  7.         {   
  8.             for (int i = 0; i < para.length; i++)   
  9.             {   
  10.                 if (para[i] != null && !"".equals(para[i]))   
  11.                 {   
  12.                     sum = sum + Integer.parseInt(para[i]);   
  13.                 }   
  14.             }   
  15.         }   
  16.         response.getWriter().print(   
  17.                 "<?xml version=\"1.0\" encoding=\"utf-8\"?><sumTag>" + sum   
  18.                         + "</sumTag>");   
  19.     }  


下面是例子运行的截图Q?


下一ơ学?fn)ȝ一?lt;mx:WebService>lg和RemoteObject?qing)其他的交互方式Q?


菜毛毛 2009-07-28 13:53 发表评论
]]>
整合F(tun)lex和Java—配|篇http://www.aygfsteel.com/caizh2009/archive/2009/07/23/288060.html菜毛毛菜毛毛Thu, 23 Jul 2009 09:12:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/07/23/288060.htmlhttp://www.aygfsteel.com/caizh2009/comments/288060.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/07/23/288060.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/288060.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/288060.html 先简单说一下BlazedsQ简单的讲Blazeds是flex与javaq_q行交互的工P当然不仅限于java语言Q也包括q行在javaq_上的其他语言Q关于这斚w可以google下?
   其实BlazeDS可以看成是LCDS的一个子集,而且是一个开源品,在一般的目中完全可以替代LCDSQ现在有三个版本Q其中Turnkey版内|了Tomcat?Flex 3 SDKQ还包含blazeds.war、ds-console.war和samples.warQBinary Distribution版只包括blazeds.warQ此为最配置Q而Source则包含blazeds的Java源代码,如果惛_二次开发就下蝲q个?/span>
下图是Adobe官方的Blazeds与LCDS的对比,
 
现在知道什么地方该用哪个了?/span>
好了不多说了Q看看如何配|:(x)
目前来说有三U方式:(x)
W一U:(x)flex工程与java工程怺独立Q?/span>
W二U:(x)Flex工程整合Java目Q?/span>
W三U:(x)java目中加入flexQ?/span>
其中W一U和W三U在配置上很怼?/span>
单说一下:(x)
 
W一U:(x)
1、当然是先徏一个java工程Q把需要的包导入,配置文g写好Qweb.xml参考Blazeds的例子,导入TomcatokQ?/span>
2、然后徏一个flex工程Q在Server Technology处选择J2EEQ然后选择使用LCDSQnextQ?/span>
3、Web root选择你发布到tomcat中的java工程目录QRoot URL写入你要再浏览器中访问该目的urlQContext root写你的java工程名;
4、请保已经开启tomcat服务Q然后点击Valdate Configuration按钮Q没有Q何错误提C点击Finish卛_成项目创建,此flex目中最后的~译swf文g都会(x)保存在tomcat下的工程目录的一?flex目名称)-debug文g夹中Q当然你也可以更改这个\径就在output folder那,如下图:(x)
 
5?/font>注意Q项目徏好后叛_工程选择属?>flex complier,flex sdk version 一定要更改Q一般选default SDK可以了Q不要用默认的serverSDKQ这一步很重要Q因Z建的是LCDS支持的项目,LCDS是支持服务器端编译的QBlazedsq不支持Q这也是Z么有些h配置Blazeds不能够正常编译的原因?/font>
 
W二U:(x)Flex工程整合Java目Q这里用MyEclipse+flexBuilder插g?/span>
1、创建Flex工程Q勾?font color="#000000">Use remote object access serviceQnext?/font>
2?span style="font-weight: normal; font-size: 7pt; line-height: normal; font-style: normal; font-variant: normal" Roman?? New Times> 配置J2EE服务器,我们q里使用TomcatQ?span style="color: red; font-family: " Tahoma?,?sans-serif?>Target runtimeQ?font face="宋体">选择一?font color="#000000">Tomcat?font face="Tahoma">runtimeQ没有就新徏一个,只需要指定Tomcat的安装目录即可;讑֮上下文\径和blazeds.war的位|,如图Q?/font>
 
3.  讄输出文g的\径,改ؓ(f)webRoot可以;
4、以下全部采用默认配|就可以Q点击finishQ?/font>
5、把flex工程变ؓ(f)myEclipse的web工程Q右击项目选择MyEclipse->add web project capabilities....,注意不要覆盖web.xmlQ?font color="#000000">叛_工程选择属性进行其他配|?/font>
 
W三U:(x)
1、在已有的java工程上右击选择flex project nature->add flex project nature;
2、以后操作同W一U,不在详述?/font>


菜毛毛 2009-07-23 17:12 发表评论
]]>
Flex Builder 3 Help 中文?(CHM/PDF)下蝲http://www.aygfsteel.com/caizh2009/archive/2009/07/09/286036.html菜毛毛菜毛毛Thu, 09 Jul 2009 02:53:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/07/09/286036.htmlhttp://www.aygfsteel.com/caizh2009/comments/286036.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/07/09/286036.html#Feedback1http://www.aygfsteel.com/caizh2009/comments/commentRss/286036.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/286036.html Flex 3.0 中文语言帮助手册chm版下?l极完美? (Flex.3.Language.Reference.cn.chm)
Download
QQ中{站下?img class="snap_preview_icon" id="snap_com_shot_link_icon" style="border-top-width: 0px; padding-right: 0px; background-position: -1128px 0px; min-width: 0px; display: inline; padding-left: 0px; font-weight: normal; border-left-width: 0px; min-height: 0px; left: auto; float: none; background-image: url(http://i.ixnp.com/images/v3.46/theme/silver/palette.gif); visibility: visible; border-bottom-width: 0px; max-width: 2000px; padding-bottom: 0px; margin: 0px; vertical-align: top; width: 14px; max-height: 2000px; line-height: normal; padding-top: 1px; background-repeat: no-repeat; font-style: normal; font-family: 'trebuchet ms', arial, helvetica, sans-serif; position: static; top: auto; height: 12px; background-color: transparent; border-right-width: 0px; text-decoration: none; cssfloat: none" alt="" src="http://i.ixnp.com/images/v3.46/t.gif" /> 提取? e4561adc
by 随风展翅 and Host by Y-Boy

actionscript3.0~程中文?pdf)
QQ中{站下?img class="snap_preview_icon" id="snap_com_shot_link_icon" style="border-top-width: 0px; padding-right: 0px; background-position: -1128px 0px; min-width: 0px; display: inline; padding-left: 0px; font-weight: normal; border-left-width: 0px; min-height: 0px; left: auto; float: none; background-image: url(http://i.ixnp.com/images/v3.46/theme/silver/palette.gif); visibility: visible; border-bottom-width: 0px; max-width: 2000px; padding-bottom: 0px; margin: 0px; vertical-align: top; width: 14px; max-height: 2000px; line-height: normal; padding-top: 1px; background-repeat: no-repeat; font-style: normal; font-family: 'trebuchet ms', arial, helvetica, sans-serif; position: static; top: auto; height: 12px; background-color: transparent; border-right-width: 0px; text-decoration: none; cssfloat: none" alt="" src="http://i.ixnp.com/images/v3.46/t.gif" /> 提取? 576eea00
(And the author is? Sorry, I don't know.Please leave me a comment if you know)

英文?


[原创?sh)子书]Adobe Flex Builder 3 Help CHM?nbsp; 

Adobe Flex 3 Beta 3 Language Reference CHM版下?nbsp; 

菜毛毛 2009-07-09 10:53 发表评论
]]>
FLEX概述http://www.aygfsteel.com/caizh2009/archive/2009/07/09/286034.html菜毛毛菜毛毛Thu, 09 Jul 2009 02:51:00 GMThttp://www.aygfsteel.com/caizh2009/archive/2009/07/09/286034.htmlhttp://www.aygfsteel.com/caizh2009/comments/286034.htmlhttp://www.aygfsteel.com/caizh2009/archive/2009/07/09/286034.html#Feedback0http://www.aygfsteel.com/caizh2009/comments/commentRss/286034.htmlhttp://www.aygfsteel.com/caizh2009/services/trackbacks/286034.htmlAdobe的富Internet应用QRich Internet ApplicationQ即RIAQ^台包含了很多开源项目?nbsp;开发桌面和web应用的主要RIA工具是开源的Flex SDK。Flex SDK包含了基于java的编译器、一个调试器、框架类以及(qing)大量的像Antd那样的小工具。Flash Player、Flex应用的webq行Ӟ包括Mozilla的Tamarin虚拟机。Adobe最q发布了BlazeDS —?用来方便有效地在Flex前端与Java后端之间q行通信的开源库。用于桌面RIA的新的Adobe AIRq行时包含了Mozilla Tamarin虚拟机、开源的SQLite数据库以?qing)Webkit HTML引擎。一些Flex开发者选择使用ZEclipse的商业Flex Builder工具。Flex Builder 3 Professional包含了高U的数据可视化组Ӟ包括AdvancedDataGrid、OLAPDataGridQ以?qing)图表组件。Adobe的客户非常满意于Adobe对开源的参与度和贡献度。他们欣喜地看到Adobe在不断投入以促Adobe的RIAq_不断发展和进化?/blockquote>

Adobel予F(tun)lex如此多的xQ那么Adobe如何构{这个^台呢Q?

Adobe与Flex相关的品和服务包括F(xin)lex Builder、LiveCycle Data Services、ColdFusion以及(qing)consulting services。Adobeq构Z很多与Flex相关的下一代品?

Adobe支持W三方的Flex工具吗(也就是Intellij / BEA Workshop / FDTQ?

Adobe通过提供开源的Flex SDK来支持这些品。BEA Workshop Flex Builder包实际上包含了Flex Builder?

BlazeDS是什么?

BlazeDS是一个开源库的集合,可被加入到基于Java的web应用中以使得Flex和Java的通信更加单高效。BlazeDS包含一个RPC式的q程库和一个实时消息系l。访?a >http://adobe.com/go/blazeds以了解更多?

Thermo是什么?

Thermo是Adobe正在开发的一个新工具Q它可以帮助设计者更多地整合到RIA的开发过E中。企业如果希望设计者能够快速构造应用的原型同时让开发者集中精力于开发而不是设计,那么Thermo提供这U帮助。访?a >http://adobe.com/go/thermo以了解更多?

Flex开发者社区有多大呢?q个C֌是怎样的情形呢Q?nbsp;

很难说到底有多少z跃的Flex开发者。有相当比例的Flex开发者活跃在Flexcoders Yahoo! Group上,现在已将q?000个成员?a >MXNA已经聚合了超q?00个Flex相关的博客,同时?a >Flex Showcase中有过200个生动的、面向公众的Flex应用。开发者社区非常杂——有核心开发者,web开发者以?qing)设计者。同时有很多Flex开发者用的是不同的后台技术,像Java、ColdFusion、PHP?Net、Ruby和Python{等?nbsp;

Java开发者{型ؓ(f)Flex开发者需要哪些东西(旉要多久,路线是什么,他们q能l箋使用Java技术吗Q?

大多数Java开发者能很快学会(x)FlexQ因为Flex所使用的语a——MXML和ActionScript与大多数Java开发者所熟知的东襉K常相像。很多寻找Flex开发者的公司实际上在LJava开发者,然后通过2周的Flex培训让他们快速上手?

Flex 3与其他构建RIAs的^台相比如何(如SilverlightQAJAXQJavaFXQ?

Flex 3是ؓ(f)web和桌面构建RIA的最先进和成熟的工具集。从当今使用Flex构徏的应用的cd上来看这是很明显的——从字处理器C业Y件。我未看到很多使用Silverlight、Ajax或者JavaFX开发的真正的RIAs产品——至根据我对RIA更保守的定义上来说是q样。因此很隑ְFlex与其他技术进行比较?

既然Flex与AJAX是可比拟的,你能否概qC下开发者如何将AJAX集成到其Flex 3开发中Q?nbsp;

在Flex 3中,Flex Ajax桥现在是SDK的核心部分。Flex Builder 3也包含了对Flex Ajax桥的支持。在Flex Builder中,建立Flex Ajax桥仅仅就是点几下鼠标的事情。很多开发者将Flex和Ajax集成h以利用每U技术的优势?nbsp;

视频在web中已l非常流行了?Flex / Flash在其中扮演什么角色呢Q?

Flash Player是在web中发布视频的主要方式。用Flex的开发者可以很L地利用Flash Player视频能力的优势,它已l包含了H.264~解码器。视频正在成为RIAs不可分割的一部分——甚臛_商业应用上?

Flex Builder 3 ProfessionalQ专业版Q还有什么其他功能呢Q?

高的数据可视化lg包含了很多不同的图表cdQ例如PieChart、BarChart、LineChart、AreaChart以及(qing)PlotChartQ另外还包含了像AdvancedDataGrid和OLAPDataGridq样的组件。你可以讉Khttp://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions来了解这些新lg。Flex Builder 3 Professionalq包含了新的内存和性能分析器以?qing)自动化试支持?

关于Flex 3 InfoQ的读者还想了解什么?

讉Khttp://opensource.adobe.com以深入了解BlazeDS和Flex SDK

Flex Builder 3对于学生和教育机构依旧是免费的。其q有一?0天的试用版。从http://flex.org/download下蝲它?

让我们知道你对Flex 3的想法!我们期望看到你用它开发的成果?nbsp;

误?a >http://www.infoq.com/cn/news/2008/02/air-flex-release来深入了解Flex和AIR的发行版信息?查看英文原文Q?/strong> Flex 3.0: Update From Adobe's James Ward



菜毛毛 2009-07-09 10:51 发表评论
]]>
վ֩ģ壺 ٹ| | | ԫ| հ| ݳ| | | ޻| «Ϫ| ӳ| | | | ͨ| ɽ| | | Ͽ| ֳ| | ɽ| ɽ| ȫ| | | ٳ| ˮ| | | | | | | | | | ӽ| | Һ| |