ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品18久久久久久久久 ,国产精品一区视频网站,日韩成人av网http://www.aygfsteel.com/redhatlinux/Hadoop,SpringMVC,ExtJs,Struts2,Spring,SpringSecurity,Hibernate,Strutszh-cnWed, 18 Jun 2025 22:00:16 GMTWed, 18 Jun 2025 22:00:16 GMT60IBM WebSphere MQ Choosing a primary installation(选择ä¸Õd®‰è£?http://www.aygfsteel.com/redhatlinux/archive/2018/01/29/433030.htmltangtbtangtbMon, 29 Jan 2018 06:53:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2018/01/29/433030.htmlhttp://www.aygfsteel.com/redhatlinux/comments/433030.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2018/01/29/433030.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/433030.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/433030.html阅读全文

tangtb 2018-01-29 14:53 发表评论
]]>
Java 多线½E‹è®¿é—®WebSphere MQåQˆæ‘˜è‡ªå®˜¾|‘)http://www.aygfsteel.com/redhatlinux/archive/2017/03/22/432396.htmltangtbtangtbWed, 22 Mar 2017 07:29:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2017/03/22/432396.htmlhttp://www.aygfsteel.com/redhatlinux/comments/432396.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2017/03/22/432396.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/432396.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/432396.html阅读全文

tangtb 2017-03-22 15:29 发表评论
]]>
Ganglia整合Nagios监控Hadoop集群http://www.aygfsteel.com/redhatlinux/archive/2015/02/25/423030.htmltangtbtangtbWed, 25 Feb 2015 06:48:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2015/02/25/423030.htmlhttp://www.aygfsteel.com/redhatlinux/comments/423030.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2015/02/25/423030.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/423030.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/423030.html阅读全文

tangtb 2015-02-25 14:48 发表评论
]]>
Pig安装配置及基本ä‹Éç”?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414405.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Wed, 04 Jun 2014 14:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414405.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/414405.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414405.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/414405.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/414405.html</trackback:ping><description><![CDATA[     摘要: Pig是一个基于Hadoop的大规模数据分析òq›_°å¯šw«˜¾U§è¿‡½E‹è¯­­a€åQŒé€‚合于ä‹Éç”?Hadoop å’?MapReduce òq›_°æ¥æŸ¥è¯¢å¤§åž‹åŠ¾l“构化数据集。通过允许对分布式数据集进行类ä¼?SQL 的查询,该语­a€çš„编译器会把¾c»SQL的数据分析请求è{æ¢äØ“ä¸€¾pÕdˆ—¾lè¿‡ä¼˜åŒ–处理的MapReduce˜qç®—åQŒPig 可以½Ž€åŒ?Hadoop çš„ä‹É用ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414405.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/414405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2014-06-04 22:14 <a href="http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414405.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HBase完全分布式安装配¾|?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414404.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Wed, 04 Jun 2014 14:00:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414404.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/414404.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/414404.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/414404.html</trackback:ping><description><![CDATA[     摘要: HBase是一个分布式的、面向列的开源数据库åQŒè¯¥æŠ€æœ¯æ¥æºäºŽ Fay Chang 所撰写的Google论文“BigtableåQšä¸€ä¸ªç»“构化数据的分布式存储¾pȝ»Ÿâ€ã€‚就像Bigtable利用了Googleæ–‡äšg¾pȝ»ŸåQˆFile SystemåQ‰æ‰€æä¾›çš„åˆ†å¸ƒå¼æ•°æ®å­˜å‚¨ä¸€æ øP¼ŒHBase在Hadoop之上提供了类ä¼égºŽBigtable的能力。HBase是Apacheçš„Hadoop™å¹ç›®çš„子™å¹ç›®ã€‚HBase不同于一般的关系数据库,它是一个适合于非¾l“构化数据存储的数据库。另一个不同的是HBaseåŸÞZºŽåˆ—的而不是基于行的模式ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414404.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/414404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2014-06-04 22:00 <a href="http://www.aygfsteel.com/redhatlinux/archive/2014/06/04/414404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Redis安装http://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414362.htmltangtbtangtbTue, 03 Jun 2014 14:48:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414362.htmlhttp://www.aygfsteel.com/redhatlinux/comments/414362.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414362.html#Feedback1http://www.aygfsteel.com/redhatlinux/comments/commentRss/414362.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/414362.htmlRedis 是一个高性能的key-value数据库和Memcached¾cÖM¼¼åQŒå®ƒæ”¯æŒå­˜å‚¨çš„value¾cÕdž‹ç›¸å¯¹æ›´å¤šåQŒåŒ…括string(字符ä¸?、list(链表)、set(集合)、zset(sorted set --有序集合)å’ŒhashåQˆå“ˆå¸Œç±»åž‹ï¼‰ã€?nbsp; é˜…读全文

tangtb 2014-06-03 22:48 发表评论
]]>
Windows˜qœç¨‹è°ƒè¯•Hadoophttp://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414359.htmltangtbtangtbTue, 03 Jun 2014 13:09:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414359.htmlhttp://www.aygfsteel.com/redhatlinux/comments/414359.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2014/06/03/414359.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/414359.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/414359.html成功安装配置Hadoop集群
成功¾~–译安装Hadoop Eclipse插äšg
本地有和服务器相同版本的Hadoop安装包,òq¶å·²è§£åŽ‹åQˆæœ¬ä¾‹ä‹É用hadoop-1.1.2åQ?
  é˜…读全文

tangtb 2014-06-03 21:09 发表评论
]]>
Sqoop安装配置及数据导入导å‡?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414291.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Sat, 31 May 2014 06:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414291.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/414291.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414291.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/414291.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/414291.html</trackback:ping><description><![CDATA[     摘要: Sqoop™å¹ç›®å¼€å§‹äºŽ2009òqß_¼Œæœ€æ—©æ˜¯ä½œäØ“Hadoop的一个第三方模块存在åQŒåŽæ¥äؓ了让使用者能够快速部¾|ÔŒ¼Œä¹Ÿäؓ了让开发äh员能够更快速的˜q­ä»£å¼€å‘,Sqoopç‹¬ç«‹æˆäØ“ä¸€ä¸ªApache™å¹ç›®ã€?<br>Sqoop是一个用来将Hadoop和关¾pÕdž‹æ•°æ®åº“中的数据相互è{¿Uȝš„工具åQŒå¯ä»¥å°†ä¸€ä¸ªå…³¾pÕdž‹æ•°æ®åº“(例如 åQ?MySQL ,Oracle ,Postgres½{‰ï¼‰ä¸­çš„æ•°æ®å¯ÆD¿›åˆ°Hadoopçš„HDFS中,也可以将HDFS的数据导˜q›åˆ°å…³ç³»åž‹æ•°æ®åº“中ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414291.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/414291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2014-05-31 14:41 <a href="http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hadoop安装配置(æ›´æ–°)http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414290.htmltangtbtangtbSat, 31 May 2014 06:30:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414290.htmlhttp://www.aygfsteel.com/redhatlinux/comments/414290.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414290.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/414290.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/414290.htmlHadoop是一个能够对大量数据˜q›è¡Œåˆ†å¸ƒå¼å¤„理的软äšg框架。但æ˜?Hadoop 是以一¿Uå¯é ã€é«˜æ•ˆã€å¯ä¼¸ç¾ƒçš„æ–¹å¼è¿›è¡Œå¤„理的ã€?
Hadoop是一个能够让用户è½ÀL¾æž¶æž„å’Œä‹É用的分布式计½Ž—åã^台。用户可以轻村֜°åœ¨Hadoop上开发和˜qè¡Œå¤„理‹¹·é‡æ•°æ®çš„应用程åº?用户可以在不了解分布式底层细节的情况下,开发分布式½E‹åºã€‚充分利用集¾Ÿ¤çš„威力高速运½Ž—和存储ã€?nbsp; é˜…读全文

tangtb 2014-05-31 14:30 发表评论
]]>
Hadoop Eclipse插äšg¾~–译http://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414289.htmltangtbtangtbSat, 31 May 2014 06:14:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414289.htmlhttp://www.aygfsteel.com/redhatlinux/comments/414289.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2014/05/31/414289.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/414289.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/414289.html阅读全文

tangtb 2014-05-31 14:14 发表评论
]]>
Linux日常操作【附件】更æ–?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2014/01/09/408746.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Thu, 09 Jan 2014 12:34:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2014/01/09/408746.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/408746.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2014/01/09/408746.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/408746.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/408746.html</trackback:ping><description><![CDATA[     摘要: 以下列出来的是本人日常用到的linux¾pȝ»Ÿå‘½ä×o、vi操作命ä×oå’Œå‘½ä»¤è¡Œå¿«æ·é”®ï¼Œæ ‡çº¢çš„äØ“æœ€å¸¸ç”¨åˆ°çš„åQŒå…¶å®ƒæœ‰çš„æ˜¯å¶å°”用到åQŒæœ‰çš„æ˜¯çŽ°ç”¨çŽîC»Ž¾|‘上搜烦åQŒåœ¨˜q™ä¸ªåšä¸ªå¤‡å¿˜åQŒåƈ没有全部列出åQŒä»¥åŽæƒ³èµäh¥æˆ–者用åˆîCº†å†æ·»åŠ ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2014/01/09/408746.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/408746.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2014-01-09 20:34 <a href="http://www.aygfsteel.com/redhatlinux/archive/2014/01/09/408746.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EJB3.1新特性—EJB3.1-A Significant Step Towards Maturity(走向成熟的重要一æ­?http://www.aygfsteel.com/redhatlinux/archive/2009/09/17/295439.htmltangtbtangtbThu, 17 Sep 2009 06:04:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2009/09/17/295439.htmlhttp://www.aygfsteel.com/redhatlinux/comments/295439.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2009/09/17/295439.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/295439.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/295439.htmlEnterprise Java Beans (EJB)是Java Enterprise Edition (Java EE) òq›_°çš„æœåŠ¡å™¨ç«¯çš„¾l„äšgæž¶æž„åQŒæ—¨åœ¨å¿«é€Ÿã€ç®€å•的构徏分布式、事务,安全和可扩展的应用程序ã€?nbsp; é˜…读全文

tangtb 2009-09-17 14:04 发表评论
]]>
FusionCharts½Ž€æ˜“封è£?JFusionChart_v1.0http://www.aygfsteel.com/redhatlinux/archive/2009/04/29/268084.htmltangtbtangtbWed, 29 Apr 2009 04:36:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2009/04/29/268084.htmlhttp://www.aygfsteel.com/redhatlinux/comments/268084.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2009/04/29/268084.html#Feedback9http://www.aygfsteel.com/redhatlinux/comments/commentRss/268084.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/268084.html  é˜…读全文

tangtb 2009-04-29 12:36 发表评论
]]>
HTTP协议åQˆæ”¶è—ï¼‰http://www.aygfsteel.com/redhatlinux/archive/2009/02/17/255109.htmltangtbtangtbTue, 17 Feb 2009 07:25:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2009/02/17/255109.htmlhttp://www.aygfsteel.com/redhatlinux/comments/255109.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2009/02/17/255109.html#Feedback3http://www.aygfsteel.com/redhatlinux/comments/commentRss/255109.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/255109.html使用与发展,得到不断地完善和扩展。目前在WWW中ä‹É用的是HTTP/1.0的第六版åQŒHTTP/1.1的规范化工作正在˜q›è¡Œä¹‹ä¸­åQŒè€Œä¸”HTTP-
NG(Next Generation of HTTP)的徏议已¾læå‡ºã€?nbsp; é˜…读全文

tangtb 2009-02-17 15:25 发表评论
]]>
JavaScript 获取客户端计½Ž—机¼‹¬äšg及系¾lŸä¿¡æ?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254254.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Wed, 11 Feb 2009 07:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254254.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/254254.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254254.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/254254.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/254254.html</trackback:ping><description><![CDATA[     摘要:                                  &n...  <a href='http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254254.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/254254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2009-02-11 15:14 <a href="http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【è{载】解å†Ïxœ‰å…³Ext Grid导出Excel在JSP½{‰çŽ¯å¢ƒä¸­ä¸å¯ç”¨çš„é—®é¢˜http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254236.htmltangtbtangtbWed, 11 Feb 2009 05:31:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254236.htmlhttp://www.aygfsteel.com/redhatlinux/comments/254236.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254236.html#Feedback7http://www.aygfsteel.com/redhatlinux/comments/commentRss/254236.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/254236.html                                         è§£å†³æœ‰å…³Ext Grid导出Excel在JSP½{‰çŽ¯å¢ƒä¸­ä¸å¯ç”¨çš„é—®é¢˜
        有关ExtGrid导出Excel的实现方式,¾|‘上已经有很多,官方也给å‡ÞZº†ä¸€ä¸ªæ–¹æ¡ˆï¼Œä»£ç ä¸æ˜¯å¾ˆå®Œå–„,不过已经有高人对˜q™ä¸ª˜q›è¡Œäº†ä¿®æ­£ã€‚具体实现方式及代码我这里就不再多说了,大家可以参看åQ?br /> http://www.dojochina.com/index.php?q=node/1254åQŒé™„ä»Óž¼šgridToExcel.js.txt
其基本思想是:客户端根据Grid数据生成Excel格式的XML数据åQŒç„¶åŽå‘送到一个服务端文äšgåQŒæœåŠ¡ç«¯æ–‡äšgé€?br /> ˜q‡è®¾å®šContent-Type来实现Excel的下载。其ä¸?#8220;导出Excel”按钮点击执行的代码如下:

 1if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) 
 2    if (! Ext.fly('frmDummy')) 
 3        var frm = document.createElement('form'); 
 4        frm.id = 'frmDummy'; 
 5        frm.name = id; 
 6        frm.className = 'x-hidden'; 
 7        document.body.appendChild(frm); 
 8    }
 
 9    Ext.Ajax.request(
10        url: '/exportexcel.php', 
11        method: 'POST', 
12        form: Ext.fly('frmDummy'), 
13        callback: function(o, s, r) 
14            //alert(r.responseText); 
15        }

16        isUpload: true
17        params: {exportContent: vExportContent} 
18    }

19}
 else 
20    document.location = 'data:application/vnd.ms-excel;base64,' + Base64.encode(vExportContent); 
21}

例子中服务端使用的PHPåQŒè¿™ŒDµä»£ç åœ¨PHP中可能可以很好的工作åQŒä½†æ˜¯å¦‚果到了JSP½{‰çŽ¯å¢ƒä¸‹åQŒå°±å‡ºçŽ°äº†é—®
题,导出数据可能是空ã€?br />  é—®é¢˜å‡ºåœ¨å“ªé‡Œå‘¢ï¼Ÿä¸Šé¢˜q™éƒ¨åˆ†ä»£ç ä¸­çš„ajax提交其实òq¶ä¸æ˜¯çœŸæ­£çš„ajax提交åQŒå› ä¸ºajax提交是在后台执行åQŒå› 
此不可能实现下蝲åQŒå¯ä»¥çœ‹åˆ°è¿™é‡Œæœ‰formå’ŒisUpload两个参数åQšExtçš„ajaxè¯äh±‚中如果配¾|®äº†isUpload:trueåQŒåˆ™å…?br /> ajaxž®×ƒ¸æ˜¯çœŸæ­£çš„ajaxè¯äh±‚åQŒè€Œæ˜¯é€šè¿‡åˆ›å¾ä¸€ä¸ªéšè—çš„IframeåQŒåƈ通过formçš„target指向˜q™ä¸ªiframe来提交数据,òq?br /> 且发送的header里将content-typeè®¾äØ“äº†multipart/formåQŒåœ¨JSP中不能成功导出的原因ž®±åœ¨˜q™é‡Œã€‚è¿™æ ïLš„æäº¤æ–¹å¼
其参数通过request.getParameter是取不到的,当然你可以ä‹É用上传组件来获取åQŒä½†˜q™æ ·ä»£ç ž®±å˜å¾—复杂。下é?br /> 来解册™¿™ä¸ªé—®é¢˜ï¼Œæ—¢ç„¶˜q™é‡Œçš„Ajax使用是一个模拟的form提交åQŒé‚£æˆ‘们其实可以完全不用。我们直接用formæ?br /> 交不是更省事吗?解决办法如下åQšåˆ›å»ÞZ¸€ä¸ªéšè—formåQŒå…¶target讄¡½®ä¸º_blankåQŒç„¶åŽåœ¨å…¶å†…部创å»ÞZ¸€ä¸ªéšè—åŸŸå­?br /> 放xml数据åQŒç„¶åŽé€šè¿‡POST方式提交˜q™ä¸ªform卛_¯ã€?/p>

实现代码åQ?/p>

 1var vExportContent = grid.getExcelXml(); 
 2if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) 
 3    var fd=Ext.get('frmDummy'); 
 4    if (!fd) 
 5        fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[ 
 6            {tag:'input',name:'exportContent',id:'exportContent',type:'hidden'} 
 7        ]}
,true); 
 8    }
 
 9    fd.child('#exportContent').set({value:vExportContent}); 
10    fd.dom.submit(); 
11}
 else 
12    document.location = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent); 
13}

14

JSP代码åQ?br />

1<%  
2response.setHeader("Content-Type","application/force-download"); 
3response.setHeader("Content-Type","application/vnd.ms-excel"); 
4response.setHeader("Content-Disposition","attachment;filename=export.xls"); 
5out.print(request.getParameter("exportContent")); 
6%>


 å®Œæ•´ä»£ç ä¸‹è²åQ?a href="/Files/redhatlinux/grid2excel.rar">grid2excel.rar



tangtb 2009-02-11 13:31 发表评论
]]>
【è{载】Ext.get()与Ext.fly()之区åˆ?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254220.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Wed, 11 Feb 2009 03:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254220.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/254220.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254220.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/254220.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/254220.html</trackback:ping><description><![CDATA[<p align="center"><span style="font-size: 18pt; font-family: 隶书">Ext.get()与Ext.fly()之区åˆ?/span><br /> 从一开始接触Extž®Þqœ‹åˆ°æœ‰Ext.fly˜q™ä¸ªå‡½æ•°åQŒå½“时觉得这个跟Ext.get没什么区别,加之当时对JS性能相关<br /> 问题认识肤浅åQŒä¹Ÿä¸€ç›´æ²¡æœ‰åœ¨æ„å…¶åŒºåˆ«åQŒä»Šæ—¥çœ‹learning extjs一书,看到了有专门对Ext.flyç‰¹åˆ«å¼ø™°ƒçš„一处:<br /> </p> <p class="code"><code><strong>This isn't exactly a speed tip, but is more about conserving memory by using something called <br /> a "flyweight" to perform simple tasks, which results in higher speed by not clogging up the <br /> browser's memory</strong><br /> </code></p> <p>大概意思也ž®±æ˜¯Ext.Fly采用flyweight模式使所有fly出来的元素共享内存,可以提高½E‹åºæ‰§è¡Œé€Ÿåº¦åQŒå‡ž®‘内存占用ã€?br /> </p> <p>        ˜q™æ®µè¯æ¿€èµ·äº†æˆ‘对˜q™ä¸ªå‡½æ•°çš„å…´­‘£ï¼Œæ¯•竟˜q‘段旉™—´ä¸€ç›´åœ¨æžJS性能优化相关问题åQŒå¯¹“内存”˜q™ä¸ªå­—眼<br /> 非常敏感。大概看了下Ext源码对getå’Œfly实现的部分,然后在网上查看了一些资料,¾lˆäºŽå¯¹ä»–们之间的异同æœ?br /> 了个比较深入的认识ã€?br /> Ext的官方开发äh员给å‡ÞZº†å¦‚下的解释:<br /> </p> <p class="code"><code><strong>Ext.Element wraps a lot of functionality around DOM element/node, for example functions like hide, show, <br /> all animation stuff, dimensions getting and setting function and a lot more. <br /> <br /> Ext.Element keeps reference to DOM element it is wrapped around in dom property. Once you have an Ext.Element<br />  (e.g. you call Ext.get('some-d') it is an instance of Element class and you can work with it as such. <br /> <br /> Now, imagine that you need to hide 1000 DOM nodes, you call 1000 times Ext.get('some-one-of-<br /> 1000-id').hide() so you create 1000 instances of Element just to call one function: hide. <br /> <br /> Ext.fly is one instance of Ext.Element with "replaceable" DOM node it is wrapped around. <br /> If you call 1000 times Ext.fly('some-one-of-1000-id').hide() you 1000 times replace dom property of one instance of Ext.Element. <br /> <br /> Result: higher performance, lower memory usage. <br /> <br /> You only need to keep in mind that you cannot keep Element returned by Ext.fly for later use as <br /> it's dom will sooner or later gets replaced by another one.<br /> </strong></code></p> <p><strong>˜q™æ®µè¯ä¸­åQŒå¤§è‡´çš„æ„æ€å¦‚下:<br /> </strong></p> <p>Ext.Element是Ext对Dom元素的一个强有力ž®è£…åQŒå®ƒž®è£…了很多方便对dom操作的接å?òq‰™€šè¿‡Elementçš„dom属æ€?br /> 引用对应的dom元素)åQŒå› æ­¤æ¯åˆ›å¾ä¸€ä¸ªElement元素都将消耗不ž®‘的内存(主要是大量的操作接口消è€?åQŒå› æ­¤å¦‚<br /> æžœåˆ›å»ø™¿‡å¤šçš„Elementå…ƒç´ å¿…ç„¶å¯ÆD‡´å†…存占用的剧增和¾pȝ»Ÿæ€§èƒ½çš„下降ã€?br /> </p> <p>Ext.getå’ŒExt.fly˜q”回的都是一个Element对象åQŒä½†æ˜¯Ext.get˜q”回的是一个独立的ElementåQŒæ‹¥æœ‰è‡ªå·Þq‹¬ç«‹çš„æ“ä½œæŽ¥å£<br /> ž®è£…åQŒå¯ä»¥å°†å…¶è¿”回å€ég¿å­˜åˆ°å˜é‡ä¸­ï¼Œä»¥ä¾¿ä»¥åŽè°ƒç”¨æ“ä½œ½{‰ï¼Œ˜q™æ ·ä¸ºé‡ç”¨å¸¦æ¥äº†æ–¹ä¾¿ã€‚但是它的一个很大缺<br /> 点就是内存消耗问题,假如调用Ext.get(id)1000‹Æ¡ï¼Œåˆ™ä¼šåœ¨å†…存中创徏1000个独立ElementåQŒå…¶å†…存占用可想è€?br /> 知。但是很多时候我们可能仅仅只是对该dom元素执行一‹Æ¡å¾ˆ½Ž€å•的操作åQŒå¦‚隐藏(hide)åQŒè¿™æ ·å¦‚果每‹Æ¡éƒ½åˆ›å¾<br /> 一个独立Element攑֜¨å†…存中,实在是对内存的巨大浪费,因此当我们在只需要执行一‹Æ¡æ“ä½œæˆ–者一个很½Ž€å?br /> 的操作时åQŒé‡‡ç”¨Ext.getž®±æ˜¾å¾—很不合理。Ext.fly正是ä¸ÞZº†è§£å†³˜q™ä¸ªé—®é¢˜è€Œå‡ºçŽŽÍ¼Œå®ƒé€šè¿‡ä½¿æ¯‹Æ¡åˆ›å»ºçš„Elementå…?br /> 享内存中的一套操作接口来辑ֈ°èŠ‚çœå†…å­˜çš„æ•ˆæžœã€?/p> <p><strong>下面来看Ext.fly的实çŽîC»£ç ?我简单加了一些注é‡?åQ?br /> </strong></p> <pre jquery1234322781687="5"> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080"> 1</span><img id="Codehighlighter1_22_23_Open_Image" onclick="this.style.display='none'; Codehighlighter1_22_23_Open_Text.style.display='none'; Codehighlighter1_22_23_Closed_Image.style.display='inline'; Codehighlighter1_22_23_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_22_23_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_22_23_Closed_Text.style.display='none'; Codehighlighter1_22_23_Open_Image.style.display='inline'; Codehighlighter1_22_23_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">var</span><span style="color: #000000"> flyFn </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">function</span><span style="color: #000000">()</span><span id="Codehighlighter1_22_23_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_22_23_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">; <br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />flyFn.prototype </span><span style="color: #000000">=</span><span style="color: #000000"> El.prototype; <br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">var</span><span style="color: #000000"> _cls </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> flyFn(); </span><span style="color: #008000">//</span><span style="color: #008000">ž®†Element的所有操作接口放在_clsä¸?nbsp;</span><span style="color: #008000"><br /> </span><span style="color: #008080"> 4</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"> <br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000"> dom is optional </span><span style="color: #008000"><br /> </span><span style="color: #008080"> 6</span><span style="color: #008000"><img id="Codehighlighter1_160_184_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_184_Open_Text.style.display='none'; Codehighlighter1_160_184_Closed_Image.style.display='inline'; Codehighlighter1_160_184_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_160_184_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_160_184_Closed_Text.style.display='none'; Codehighlighter1_160_184_Open_Image.style.display='inline'; Codehighlighter1_160_184_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #000000">El.Flyweight </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">function</span><span style="color: #000000">(dom)</span><span id="Codehighlighter1_160_184_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_160_184_Open_Text"><span style="color: #000000">{ <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">this</span><span style="color: #000000">.dom </span><span style="color: #000000">=</span><span style="color: #000000"> dom; <br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000">; </span><span style="color: #008000">//</span><span style="color: #008000">仅包含一个dom属性的Object </span><span style="color: #008000"><br /> </span><span style="color: #008080"> 9</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"> <br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />El.Flyweight.prototype </span><span style="color: #000000">=</span><span style="color: #000000"> _cls; </span><span style="color: #008000">//</span><span style="color: #008000">ž®†æ“ä½œæŽ¥å£å¤åˆ¶ç»™Element实例对象 </span><span style="color: #008000"><br /> </span><span style="color: #008080">11</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">El.Flyweight.prototype.isFlyweight </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">; </span><span style="color: #008000">//</span><span style="color: #008000">标志该Element是flyweight对象 </span><span style="color: #008000"><br /> </span><span style="color: #008080">12</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"> <br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_352_353_Open_Image" onclick="this.style.display='none'; Codehighlighter1_352_353_Open_Text.style.display='none'; Codehighlighter1_352_353_Closed_Image.style.display='inline'; Codehighlighter1_352_353_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_352_353_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_352_353_Closed_Text.style.display='none'; Codehighlighter1_352_353_Open_Image.style.display='inline'; Codehighlighter1_352_353_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />El._flyweights </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span id="Codehighlighter1_352_353_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_352_353_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">; </span><span style="color: #008000">//</span><span style="color: #008000">flyweight对象¾~“存容器 </span><span style="color: #008000"><br /> </span><span style="color: #008080">14</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000"> <br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_405_747_Open_Image" onclick="this.style.display='none'; Codehighlighter1_405_747_Open_Text.style.display='none'; Codehighlighter1_405_747_Closed_Image.style.display='inline'; Codehighlighter1_405_747_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_405_747_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_405_747_Closed_Text.style.display='none'; Codehighlighter1_405_747_Open_Image.style.display='inline'; Codehighlighter1_405_747_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />El.fly </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">function</span><span style="color: #000000">(el, named)</span><span id="Codehighlighter1_405_747_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_405_747_Open_Text"><span style="color: #000000">{ <br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    named </span><span style="color: #000000">=</span><span style="color: #000000"> named </span><span style="color: #000000">||</span><span style="color: #000000"> '_global'; <br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    el </span><span style="color: #000000">=</span><span style="color: #000000"> Ext.getDom(el); </span><span style="color: #008000">//</span><span style="color: #008000">取得dom对象 </span><span style="color: #008000"><br /> </span><span style="color: #008080">18</span><span style="color: #008000"><img id="Codehighlighter1_488_517_Open_Image" onclick="this.style.display='none'; Codehighlighter1_488_517_Open_Text.style.display='none'; Codehighlighter1_488_517_Closed_Image.style.display='inline'; Codehighlighter1_488_517_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_488_517_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_488_517_Closed_Text.style.display='none'; Codehighlighter1_488_517_Open_Image.style.display='inline'; Codehighlighter1_488_517_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">    </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">el)</span><span id="Codehighlighter1_488_517_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_488_517_Open_Text"><span style="color: #000000">{ <br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">; <br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"> <br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_550_646_Open_Image" onclick="this.style.display='none'; Codehighlighter1_550_646_Open_Text.style.display='none'; Codehighlighter1_550_646_Closed_Image.style.display='inline'; Codehighlighter1_550_646_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_550_646_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_550_646_Closed_Text.style.display='none'; Codehighlighter1_550_646_Open_Image.style.display='inline'; Codehighlighter1_550_646_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">El._flyweights[named])</span><span id="Codehighlighter1_550_646_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_550_646_Open_Text"><span style="color: #000000">{ <br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        El._flyweights[named] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> El.Flyweight(); </span><span style="color: #008000">//</span><span style="color: #008000">仅在½W¬ä¸€‹Æ¡è°ƒç”¨Ext.fly时创å»ÞZ¸€ä¸ªFlyweight对象òq¶ç¼“å­?nbsp;</span><span style="color: #008000"><br /> </span><span style="color: #008080">23</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="color: #000000">    }</span></span><span style="color: #000000"> <br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    El._flyweights[named].dom </span><span style="color: #000000">=</span><span style="color: #000000"> el; </span><span style="color: #008000">//</span><span style="color: #008000">ž®†flyweight对象的dom属性指向该el </span><span style="color: #008000"><br /> </span><span style="color: #008080">25</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">    </span><span style="color: #0000ff">return</span><span style="color: #000000"> El._flyweights[named]; <br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000">;</span></div> <br /> 从上面的代码不难看出åQŒä»…在第一‹Æ¡è°ƒç”¨Ext.fly时创å»ÞZ¸€ä¸ªFlyweight对象åQˆè¯¥å¯¹è±¡åŒ…含了Element的所有操作接口)òq¶å°†å…¶ç¼“存,</pre> <p>之后的所有fly操作都只是修改该flyweight对象的dom属性,每次fly˜q”回的结果都是共享的同一个flyweight对象ã€?br /> ˜q™æ ·æ¯æ¬¡fly˜q”回的Element相比Ext.get而言åQŒå‡ž®‘了每次创徏Element时对大量的操作接口的创徏。所有fly的对è±?br /> 都共享一套Element操作接口åQŒå†…存占用自然少了很多,而且执行速度也得åˆîCº†æå‡ã€‚在大量的创建操作中æ•?br /> 果会更加明显ã€?/p> <p>ç”׃ºŽfly的操作原理,我们不能ž®†fly的返回结果保存在变量中以侉K‡ç”¨ï¼Œå› äؓ每次fly操作都将可能改变该变量的<br /> dom指向。如下面的代码就是不正确的:<br /> </p> <pre jquery1234322781687="11"> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">var</span><span style="color: #000000"> my_id </span><span style="color: #000000">=</span><span style="color: #000000"> Ext.fly('my_id');    <br /> </span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Ext.fly('another_id'); </span><span style="color: #008000">//</span><span style="color: #008000">此时my_idçš„domå¼•ç”¨å·²ç»å˜äØ“another_id    </span><span style="color: #008000"><br /> </span><span style="color: #008080">3</span><span style="color: #008000"><img id="Codehighlighter1_116_192_Open_Image" onclick="this.style.display='none'; Codehighlighter1_116_192_Open_Text.style.display='none'; Codehighlighter1_116_192_Closed_Image.style.display='inline'; Codehighlighter1_116_192_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_116_192_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_116_192_Closed_Text.style.display='none'; Codehighlighter1_116_192_Open_Image.style.display='inline'; Codehighlighter1_116_192_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #000000">my_id.highlight('FF0000',</span><span id="Codehighlighter1_116_192_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_116_192_Open_Text"><span style="color: #000000">{ </span><span style="color: #008000">//</span><span style="color: #008000">此处的操作将是对  another_id元素的操ä½?nbsp;      </span><span style="color: #008000"><br /> </span><span style="color: #008080">4</span><span style="color: #008000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">    endColor:'0000FF', duration: </span><span style="color: #000000">3</span><span style="color: #000000">    <br /> </span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000">);</span></div> </pre> <p>在以后ä‹É用中åQŒä¸€å®šè¦åˆç†çš„利用Ext.getå’ŒExt.flyåQŒé¿å…æ»¥ç”¨Ext.get˜q™ä¸ª“重量¾U?#8221;的方法ã€?br /> <br /> 转自åQšhttp://www.ajaxbbs.net/post/extjs/Ext-fly-and-Ext-get.html</p><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/254220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2009-02-11 11:51 <a href="http://www.aygfsteel.com/redhatlinux/archive/2009/02/11/254220.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJs2.x开发环å¢?-Eclipse、Adobe Dreamweaver安装和配¾|®ExtJs2.x开发插ä»?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2008/10/27/236809.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Mon, 27 Oct 2008 03:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2008/10/27/236809.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/236809.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2008/10/27/236809.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/236809.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/236809.html</trackback:ping><description><![CDATA[     摘要: Spket是目前支持Ext 2.0最为出色的IDEã€?它采ç”?jsb project file æ–‡äšgòq¶å°†¾l§æ‰¿äºŽåŸº¾cÕd’Œæ‰€æœ‰æ–‡æ¡£çš„内容嵌入到生成代码提½Cºçš„Script doc中。虽然有比较好用的开发插ä»Óž¼Œä½†æ˜¯æˆ‘个人徏议和我一æ ïLš„初学者还是应该采用手写代码的方式åŽÕd­¦ä¹ ExtJsåQŒè¿™æ ·ä¾¿äºŽæ›´å¥½çš„æŽŒæ¡å’Œç†è§£ExtJs。毕竟工兯‚¿˜æ˜¯äؓ了项目的快速开发而设计的åQŒå­¦ä¹ å°±åº”该一步一个脚印ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2008/10/27/236809.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/236809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2008-10-27 11:08 <a href="http://www.aygfsteel.com/redhatlinux/archive/2008/10/27/236809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【个人收藏】几个用ExtJs构徏的应用演½C?æ›´æ–°ä¸?...)http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236384.htmltangtbtangtbFri, 24 Oct 2008 05:20:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236384.htmlhttp://www.aygfsteel.com/redhatlinux/comments/236384.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236384.html#Feedback2http://www.aygfsteel.com/redhatlinux/comments/commentRss/236384.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/236384.html阅读全文

tangtb 2008-10-24 13:20 发表评论
]]>
【个人收藏】ExtJs2.2视频教程在线观看及下è½?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236354.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Fri, 24 Oct 2008 03:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236354.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/236354.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236354.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/236354.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/236354.html</trackback:ping><description><![CDATA[     摘要: ExtJs2.2视频教程在线观看及下载,由DOJO中国 | ½E‹åºå‘˜è”盟亲情打造,正在学习ä¸?感觉很不错,讲得非常¾l†ï¼Œä¹Ÿè®©æˆ‘对ExtJs有了新的认识åQŒæ„Ÿè°¢DOJOCHINA,感谢陈治文老师  <a href='http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236354.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/236354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2008-10-24 11:19 <a href="http://www.aygfsteel.com/redhatlinux/archive/2008/10/24/236354.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些重要的AOP概念和术è¯?摘自Spring开发参考手å†?http://www.aygfsteel.com/redhatlinux/archive/2008/09/03/226653.htmltangtbtangtbWed, 03 Sep 2008 05:23:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2008/09/03/226653.htmlhttp://www.aygfsteel.com/redhatlinux/comments/226653.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2008/09/03/226653.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/226653.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/226653.html阅读全文

tangtb 2008-09-03 13:23 发表评论
]]>
【æ€È»“-含源码】Spring Security学习æ€È»“äº?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2008/09/01/226010.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Mon, 01 Sep 2008 02:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2008/09/01/226010.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/226010.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2008/09/01/226010.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/226010.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/226010.html</trackback:ping><description><![CDATA[     摘要: 前一½‹‡æ–‡ç« é‡Œä»‹ç»äº†Spring Security的一些基¼‹€çŸ¥è¯†åQŒç›¸ä¿¡ä½ å¯¹Spring Security的工作流½E‹å·²¾læœ‰äº†ä¸€å®šçš„了解åQŒå¦‚果你同时在读源代码,那你应该可以认识的更深刻。在˜q™ç¯‡æ–‡ç« é‡Œï¼Œæˆ‘们ž®†å¯¹Spring Security˜q›è¡Œä¸€äº›è‡ªå®šä¹‰çš„æ‰©å±•,比如自定义实现UserDetailsServiceåQŒä¿æŠ¤ä¸šåŠ¡æ–¹æ³•ä»¥åŠå¦‚ä½•å¯¹ç”¨æˆ·æƒé™½{‰ä¿¡æ¯è¿›è¡ŒåŠ¨æ€çš„é…ç½®½Ž¡ç†ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2008/09/01/226010.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/226010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2008-09-01 10:08 <a href="http://www.aygfsteel.com/redhatlinux/archive/2008/09/01/226010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【æ€È»“-含源码】Spring Security学习æ€È»“一(补命名空间配¾|?http://www.aygfsteel.com/redhatlinux/archive/2008/08/20/223148.htmltangtbtangtbWed, 20 Aug 2008 02:25:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2008/08/20/223148.htmlhttp://www.aygfsteel.com/redhatlinux/comments/223148.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2008/08/20/223148.html#Feedback27http://www.aygfsteel.com/redhatlinux/comments/commentRss/223148.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/223148.html阅读全文

tangtb 2008-08-20 10:25 发表评论
]]>
【è{载】Spring Security-2.0.x参考文档的”ä‹É用命名空间简化配¾|®â€?/title><link>http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220380.html</link><dc:creator>tangtb</dc:creator><author>tangtb</author><pubDate>Wed, 06 Aug 2008 03:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220380.html</guid><wfw:comment>http://www.aygfsteel.com/redhatlinux/comments/220380.html</wfw:comment><comments>http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/redhatlinux/comments/commentRss/220380.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/redhatlinux/services/trackbacks/220380.html</trackback:ping><description><![CDATA[     摘要: 从Spring-2.0开始可以ä‹É用命名空间的配置方式ã€?使用它呢åQŒå¯ä»¥é€šè¿‡é™„加xmlæž¶æž„åQŒäؓ传统的spring beans应用环境语法做补充。你可以在spring参考文档得到更多信息。命名空间元素可以简单的配置单个beanåQŒæˆ–使用更强大的åQŒå®šä¹‰ä¸€ä¸ªå¤‡ç”¨é…¾|®è¯­æ³•,˜q™å¯ä»¥æ›´åŠ ç´§å¯†çš„åŒšw…é—®é¢˜åŸŸï¼Œéšè—ç”¨æˆ·èƒŒåŽçš„复杂性。简单元素可能隐藏事实,多种bean和处理步骤添加到应用环境中ã€?nbsp; <a href='http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220380.html'>阅读全文</a><img src ="http://www.aygfsteel.com/redhatlinux/aggbug/220380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/redhatlinux/" target="_blank">tangtb</a> 2008-08-06 11:58 <a href="http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220380.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【è{载】集成ACEGI ˜q›è¡Œæƒé™æŽ§åˆ¶http://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220365.htmltangtbtangtbWed, 06 Aug 2008 02:41:00 GMThttp://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220365.htmlhttp://www.aygfsteel.com/redhatlinux/comments/220365.htmlhttp://www.aygfsteel.com/redhatlinux/archive/2008/08/06/220365.html#Feedback0http://www.aygfsteel.com/redhatlinux/comments/commentRss/220365.htmlhttp://www.aygfsteel.com/redhatlinux/services/trackbacks/220365.html Acegi也能够通过保护æ–ÒŽ³•调用在更底层的çñ”别上强制安全性。ä‹É用Spring AOPåQŒAcegi代理对象åQŒå°†â€œåˆ‡é¢â€åº”用于对象åQŒä»¥¼‹®ä¿ç”¨æˆ·åªæœ‰åœ¨æ‹¥æœ‰æ°å½“授权时才能调用受保护的æ–ÒŽ³•ã€?
集成Acegi到自å·Þqš„™å¹ç›®ä¸? òq¶ä¸”ž®†ç”¨æˆ·ä¿¡æ¯å’Œæƒé™æ”‘Öˆ°æ•°æ®åº? 提供æ–ÒŽ³•允许权限动态变åŒ?变化后自动加载最新的权限ã€?nbsp; é˜…读全文

tangtb 2008-08-06 10:41 发表评论
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ¸»Ô´ÏØ| ÊÙÑôÏØ| ÆÜϼÊÐ| ¿ªÑôÏØ| ºÍË¶ÏØ| Î÷°²ÊÐ| ºÏ½­ÏØ| ±¾Ïª| ºÍÁúÊÐ| ÓÀ¸£ÏØ| ÄÏÖ£ÏØ| ËçÑôÏØ| ÎäÃùÏØ| ³çÑôÏØ| Îä¸ÔÊÐ| ÄþÃ÷ÏØ| °×ÓñÏØ| ÉÛÑôÏØ| ¼ªÁÖÊ¡| »ôÇñÏØ| Ë«½­| ÔóÆÕÏØ| ãëÉÏÏØ| ÅͰ²ÏØ| ÁÙ½­ÊÐ| ¾ÅÁúÏØ| ×¼¸ñ¶ûÆì| ÉÌÂåÊÐ| ´óʯÇÅÊÐ| ×ó¹±ÏØ| Ú«ºÓÊÐ| À´±öÊÐ| Û·ÉÆÏØ| ÀÖÇåÊÐ| üɽÊÐ| ÎÄÉ½ÏØ| ¿µÂíÏØ| ±¦ÐËÏØ| ÍͲýÏØ| ʲÚúÊÐ| ¦µ×ÊÐ|