﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-雪湖小札@blogjava</title><link>http://www.blogjava.net/csnowfox/</link><description>心情与技术文档同行
http://hi.baidu.com/jingleq</description><language>zh-cn</language><lastBuildDate>Thu, 09 Apr 2026 05:34:16 GMT</lastBuildDate><pubDate>Thu, 09 Apr 2026 05:34:16 GMT</pubDate><ttl>60</ttl><item><title>没钱白领逛的十大网站</title><link>http://www.blogjava.net/csnowfox/archive/2012/02/15/370002.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Wed, 15 Feb 2012 02:39:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2012/02/15/370002.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/370002.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2012/02/15/370002.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/370002.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/370002.html</trackback:ping><description><![CDATA[<div>
<div>作为现代没钱的白领，没逛过这些网站，你out了吧。</div>
<a href="http://www.baidu.com">www.baidu.com</a>百度。这个不用说，工作、学习、娱乐必备站。<br />
<a href="http://www.2008.sohu.com">www.2008.sohu.com</a>搜狐奥运频道。2008奥运年，是中国崛起的标志年。搜狐拥有奥运独家报道权，相信会给我们带来更多奥运新闻。<br />
<a href="http://www.tianya.cn">www.tianya.cn</a>天涯论坛。上班是无聊的，论坛是有料的。<br />
<a href="http://www.taobao.com">www.taobao.com</a>淘宝。上班也能开一小差逛逛街。<br />
<a href="http://www.sunapp.info">www.sunapp.info</a>阳光超惠购。不用花很多时间就能获取超值购物资讯的地方。<br />
<a href="http://www.cmfu.com">www.cmfu.com</a>起点。逛完街得安静一下，看看书，一个不会完结的连载小说让人心里有份牵挂。<br />
<a href="http://www.eastmoney.com">www.eastmoney.com</a>东财。2007年股市疯狂培养了无数新股民，白骨精们当然是其中的生力军。<br />
<a href="http://www.xunlei.com">www.xunlei.com</a>迅雷。上班下班，总会有些东西是自己电脑上没有的，那就迅雷一下吧。<br />
<a href="http://www.17173.com">www.17173.com</a>网游。上班当然不会这么过分，那下班放松一下总是要的，网游门户自然是少不了。<br />
<a href="http://www.qzone.qq.com">www.qzone.qq.com</a>QQ空间。让自己有一些沉淀，让自己有一个心灵的窝，写下来会好点。</div><img src ="http://www.blogjava.net/csnowfox/aggbug/370002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2012-02-15 10:39 <a href="http://www.blogjava.net/csnowfox/archive/2012/02/15/370002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts与flex通过xml交互模型</title><link>http://www.blogjava.net/csnowfox/archive/2007/11/12/159890.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Mon, 12 Nov 2007 02:27:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/11/12/159890.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/159890.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/11/12/159890.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/159890.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/159890.html</trackback:ping><description><![CDATA[示例代码下载：<a href="http://www.blogjava.net/Files/csnowfox/flex-struts.rar">flex-struts.rar</a><br />
该代码包含两个项目，一个是web项目，一个是flex项目，使用workshop+flex builder2开发，主要演示了如下几个特征：<br />
(1).flex获取远程url的xml数据，加载到DataGrid中。在解释数据的时候，使用了actionscript的class. <br />
<span style="color: #000000">actionscript&nbsp;class文件代码：</span><br />
<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;<span style="color: #000000">package&nbsp;org.c2ome.flex.xml<br />
<img id="Codehighlighter1_52_645_Open_Image" onclick="this.style.display='none'; Codehighlighter1_52_645_Open_Text.style.display='none'; Codehighlighter1_52_645_Closed_Image.style.display='inline'; Codehighlighter1_52_645_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_52_645_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_52_645_Closed_Text.style.display='none'; Codehighlighter1_52_645_Open_Image.style.display='inline'; Codehighlighter1_52_645_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_52_645_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_52_645_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;public&nbsp;class&nbsp;XmlDoc<br />
<img id="Codehighlighter1_77_643_Open_Image" onclick="this.style.display='none'; Codehighlighter1_77_643_Open_Text.style.display='none'; Codehighlighter1_77_643_Closed_Image.style.display='inline'; Codehighlighter1_77_643_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_77_643_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_77_643_Closed_Text.style.display='none'; Codehighlighter1_77_643_Open_Image.style.display='inline'; Codehighlighter1_77_643_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;</span><span id="Codehighlighter1_77_643_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_77_643_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;private&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;headStr&nbsp;:String&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;?xml&nbsp;version='1.0'&nbsp;?&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;Msg&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;data&gt;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;private&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;footStr:&nbsp;String&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/data&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/Msg&gt;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;private&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;contentStr:&nbsp;String&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_333_465_Open_Image" onclick="this.style.display='none'; Codehighlighter1_333_465_Open_Text.style.display='none'; Codehighlighter1_333_465_Closed_Image.style.display='inline'; Codehighlighter1_333_465_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_333_465_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_333_465_Closed_Text.style.display='none'; Codehighlighter1_333_465_Open_Image.style.display='inline'; Codehighlighter1_333_465_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;addData(key&nbsp;:&nbsp;String,&nbsp;value:&nbsp;String)&nbsp;:&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_333_465_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_333_465_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;nodeStr:&nbsp;String&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;entry&gt;&lt;key&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;key&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/key&gt;&lt;value&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;value&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/value&gt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/entry&gt;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;contentStr&nbsp;</span><span style="color: #000000">+=</span><span style="color: #000000">nodeStr;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_499_554_Open_Image" onclick="this.style.display='none'; Codehighlighter1_499_554_Open_Text.style.display='none'; Codehighlighter1_499_554_Closed_Image.style.display='inline'; Codehighlighter1_499_554_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_499_554_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_499_554_Closed_Text.style.display='none'; Codehighlighter1_499_554_Open_Image.style.display='inline'; Codehighlighter1_499_554_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;toXml()&nbsp;:&nbsp;XML&nbsp;</span><span id="Codehighlighter1_499_554_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_499_554_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;XML(headStr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;contentStr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;footStr);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_593_639_Open_Image" onclick="this.style.display='none'; Codehighlighter1_593_639_Open_Text.style.display='none'; Codehighlighter1_593_639_Closed_Image.style.display='inline'; Codehighlighter1_593_639_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_593_639_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_593_639_Closed_Text.style.display='none'; Codehighlighter1_593_639_Open_Image.style.display='inline'; Codehighlighter1_593_639_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;toString()&nbsp;:String&nbsp;</span><span id="Codehighlighter1_593_639_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_593_639_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;headStr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;contentStr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;footStr;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<p>flexj.mxml代码：</p>
<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:Application&nbsp;</span><span style="color: #ff0000">xmlns:mx</span><span style="color: #0000ff">="http://www.adobe.com/2006/mxml"</span><span style="color: #ff0000">&nbsp;layout</span><span style="color: #0000ff">="absolute"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:Script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;![CDATA[</span><span style="color: #808080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;org.c2ome.flex.xml.XmlDoc;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;mx.rpc.events.ResultEvent;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;mx.controls.Alert;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;flash.events.Event;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;flash.net.URLLoader;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;import&nbsp;flash.net.URLRequest;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;loadApp():void&nbsp;{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;var&nbsp;loader:URLLoader&nbsp;=&nbsp;new&nbsp;URLLoader();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;var&nbsp;request:URLRequest&nbsp;=&nbsp;new&nbsp;URLRequest("http://localhost:8080/flexLogic.do?method=getBooks");<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;var&nbsp;variables:URLVariables&nbsp;=&nbsp;new&nbsp;URLVariables();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;var&nbsp;x&nbsp;:&nbsp;XmlDoc&nbsp;=&nbsp;new&nbsp;XmlDoc();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;x.addData("name","c2one");<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;x.addData("password","123456");<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;variables.xmlDoc&nbsp;=&nbsp;x.toString();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;request.data&nbsp;=&nbsp;variables;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;request.method&nbsp;=&nbsp;"POST";<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;loader.load(request);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;loader.addEventListener(Event.COMPLETE,&nbsp;onComplete);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;private&nbsp;function&nbsp;onComplete(event:Event):void<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;loader:URLLoader&nbsp;=&nbsp;event.target&nbsp;as&nbsp;URLLoader;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(loader&nbsp;!=&nbsp;null)&nbsp;{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;externalXML:XML&nbsp;=&nbsp;new&nbsp;XML(loader.data);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bookdg.dataProvider&nbsp;=&nbsp;externalXML.data.entry.(key=="cc").value.Book;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sysReturn.text&nbsp;=&nbsp;externalXML.data.entry.(key=="name").value.valueOf();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alert.show("loader&nbsp;is&nbsp;not&nbsp;a&nbsp;URLLoader!");<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;}<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">]]&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">mx:Script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:DataGrid&nbsp;</span><span style="color: #ff0000">x</span><span style="color: #0000ff">="78.5"</span><span style="color: #ff0000">&nbsp;y</span><span style="color: #0000ff">="93"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="bookdg"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:DataGridColumn&nbsp;</span><span style="color: #ff0000">headerText</span><span style="color: #0000ff">="name"</span><span style="color: #ff0000">&nbsp;dataField</span><span style="color: #0000ff">="@name"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:DataGridColumn&nbsp;</span><span style="color: #ff0000">headerText</span><span style="color: #0000ff">="price"</span><span style="color: #ff0000">&nbsp;dataField</span><span style="color: #0000ff">="@price"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">mx:columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">mx:DataGrid</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:Button&nbsp;</span><span style="color: #ff0000">x</span><span style="color: #0000ff">="78.5"</span><span style="color: #ff0000">&nbsp;y</span><span style="color: #0000ff">="292"</span><span style="color: #ff0000">&nbsp;label</span><span style="color: #0000ff">="Button"</span><span style="color: #ff0000">&nbsp;click</span><span style="color: #0000ff">="loadApp();"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mx:TextArea&nbsp;</span><span style="color: #ff0000">x</span><span style="color: #0000ff">="78"</span><span style="color: #ff0000">&nbsp;y</span><span style="color: #0000ff">="256"</span><span style="color: #ff0000">&nbsp;height</span><span style="color: #0000ff">="28"</span><span style="color: #ff0000">&nbsp;width</span><span style="color: #0000ff">="202.5"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="sysReturn"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">mx:Application</span><span style="color: #0000ff">&gt;</span></div>
(2).在web端根目录配置跨域访问控制：建文件crossdomain.xml<br />
<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;cross-domain-policy<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />SYSTEM&nbsp;"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">cross-domain-policy</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">allow-access-from&nbsp;</span><span style="color: #ff0000">domain</span><span style="color: #0000ff">="*"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">cross-domain-policy</span><span style="color: #0000ff">&gt;</span></div>
(3).在web端使用了betwixt来处理xml与对象，看com.c2one.util.XMLUtil<br />
<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.c2one.util;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.beans.IntrospectionException;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.StringReader;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.StringWriter;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Map;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.commons.betwixt.io.BeanReader;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.apache.commons.betwixt.io.BeanWriter;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.xml.sax.SAXException;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_329_1530_Open_Image" onclick="this.style.display='none'; Codehighlighter1_329_1530_Open_Text.style.display='none'; Codehighlighter1_329_1530_Closed_Image.style.display='inline'; Codehighlighter1_329_1530_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_329_1530_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_329_1530_Closed_Text.style.display='none'; Codehighlighter1_329_1530_Open_Image.style.display='inline'; Codehighlighter1_329_1530_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;XMLUtil&nbsp;</span><span id="Codehighlighter1_329_1530_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_329_1530_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;beanParser(String&nbsp;info,&nbsp;String&nbsp;exeCode,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map</span><span style="color: #000000">&lt;</span><span style="color: #000000">String,&nbsp;Object</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;data)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IOException,&nbsp;SAXException,<br />
<img id="Codehighlighter1_483_1024_Open_Image" onclick="this.style.display='none'; Codehighlighter1_483_1024_Open_Text.style.display='none'; Codehighlighter1_483_1024_Closed_Image.style.display='inline'; Codehighlighter1_483_1024_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_483_1024_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_483_1024_Closed_Text.style.display='none'; Codehighlighter1_483_1024_Open_Image.style.display='inline'; Codehighlighter1_483_1024_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntrospectionException&nbsp;</span><span id="Codehighlighter1_483_1024_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_483_1024_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringWriter&nbsp;outputWriter&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringWriter();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputWriter.write(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;?xml&nbsp;version='1.0'&nbsp;?&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanWriter&nbsp;beanWriter&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BeanWriter(outputWriter);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanWriter.getXMLIntrospector().getConfiguration()<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setAttributesForPrimitives(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanWriter.getBindingConfiguration().setMapIDs(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanWriter.enablePrettyPrint();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResponseEntity&nbsp;entity&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ResponseEntity(info,&nbsp;exeCode,&nbsp;data);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanWriter.write(</span><span style="color: #000000">"</span><span style="color: #000000">Msg</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;entity);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;outputWriter.toString();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outputWriter.close();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;result;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;RequestEntity&nbsp;stringParser(String&nbsp;str)<br />
<img id="Codehighlighter1_1141_1528_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1141_1528_Open_Text.style.display='none'; Codehighlighter1_1141_1528_Closed_Image.style.display='inline'; Codehighlighter1_1141_1528_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1141_1528_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1141_1528_Closed_Text.style.display='none'; Codehighlighter1_1141_1528_Open_Image.style.display='inline'; Codehighlighter1_1141_1528_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IntrospectionException,&nbsp;IOException,&nbsp;SAXException&nbsp;</span><span id="Codehighlighter1_1141_1528_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.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1141_1528_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringReader&nbsp;xmlReader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringReader(str);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanReader&nbsp;beanReader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BeanReader();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanReader.getXMLIntrospector().getConfiguration()<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setAttributesForPrimitives(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanReader.getBindingConfiguration().setMapIDs(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beanReader.registerBeanClass(</span><span style="color: #000000">"</span><span style="color: #000000">Msg</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;RequestEntity.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RequestEntity&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(RequestEntity)&nbsp;beanReader.parse(xmlReader);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;obj;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<img src ="http://www.blogjava.net/csnowfox/aggbug/159890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-11-12 10:27 <a href="http://www.blogjava.net/csnowfox/archive/2007/11/12/159890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跑在groovy上的rmi</title><link>http://www.blogjava.net/csnowfox/archive/2007/07/19/131226.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Thu, 19 Jul 2007 02:43:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/07/19/131226.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/131226.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/07/19/131226.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/131226.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/131226.html</trackback:ping><description><![CDATA[　　小试了一把用groovy来写java的rmi，体验到了groovy对java的兼容性，无论从代码上还是功能上！真的可以理groovy就是脚本化的java，groovy就是java扩衡ruby on rails的武器!<br>　　参考了网上的经典《Java RMI 入门》，我写了两个groovy文件。因为想仿造java的文件管理方式，所以我把接口写成一个groovy文件，实现类写成一个groovy文件。虽然单个groovy文件名可以和里面的类名不一样，但是如果出现不一样的，在import关联的时候就会出现问题。<br>F:\grails_apps\groovy\com\c2\HelloIn.groovy<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.c2;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.rmi.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_78_123_Open_Image onclick="this.style.display='none'; Codehighlighter1_78_123_Open_Text.style.display='none'; Codehighlighter1_78_123_Closed_Image.style.display='inline'; Codehighlighter1_78_123_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_78_123_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_78_123_Closed_Text.style.display='none'; Codehighlighter1_78_123_Open_Image.style.display='inline'; Codehighlighter1_78_123_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000">&nbsp;HelloIn&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;java.rmi.Remote&nbsp;</span><span id=Codehighlighter1_78_123_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_78_123_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;String&nbsp;sayHello()&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;RemoteException;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
F:\grails_apps\groovy\com\c2\Hello.groovy<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.c2;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.rmi.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.net.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.rmi.registry.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.rmi.server.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_185_491_Open_Image onclick="this.style.display='none'; Codehighlighter1_185_491_Open_Text.style.display='none'; Codehighlighter1_185_491_Closed_Image.style.display='inline'; Codehighlighter1_185_491_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_185_491_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_185_491_Closed_Text.style.display='none'; Codehighlighter1_185_491_Open_Image.style.display='inline'; Codehighlighter1_185_491_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Hello&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;java.rmi.server.UnicastRemoteObject&nbsp;</span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000">&nbsp;HelloIn&nbsp;</span><span id=Codehighlighter1_185_491_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_185_491_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_218_232_Open_Image onclick="this.style.display='none'; Codehighlighter1_218_232_Open_Text.style.display='none'; Codehighlighter1_218_232_Closed_Image.style.display='inline'; Codehighlighter1_218_232_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_218_232_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_218_232_Closed_Text.style.display='none'; Codehighlighter1_218_232_Open_Image.style.display='inline'; Codehighlighter1_218_232_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Hello()&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;RemoteException</span><span id=Codehighlighter1_218_232_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_218_232_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">super</span><span style="COLOR: #000000">();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_276_306_Open_Image onclick="this.style.display='none'; Codehighlighter1_276_306_Open_Text.style.display='none'; Codehighlighter1_276_306_Closed_Image.style.display='inline'; Codehighlighter1_276_306_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_276_306_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_276_306_Closed_Text.style.display='none'; Codehighlighter1_276_306_Open_Image.style.display='inline'; Codehighlighter1_276_306_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sayHello()&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;RemoteException</span><span id=Codehighlighter1_276_306_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_276_306_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Hello,World!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_336_489_Open_Image onclick="this.style.display='none'; Codehighlighter1_336_489_Open_Text.style.display='none'; Codehighlighter1_336_489_Closed_Image.style.display='inline'; Codehighlighter1_336_489_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_336_489_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_336_489_Closed_Text.style.display='none'; Codehighlighter1_336_489_Open_Image.style.display='inline'; Codehighlighter1_336_489_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(args)</span><span id=Codehighlighter1_336_489_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_336_489_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_343_434_Open_Image onclick="this.style.display='none'; Codehighlighter1_343_434_Open_Text.style.display='none'; Codehighlighter1_343_434_Closed_Image.style.display='inline'; Codehighlighter1_343_434_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_343_434_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_343_434_Closed_Text.style.display='none'; Codehighlighter1_343_434_Open_Image.style.display='inline'; Codehighlighter1_343_434_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span id=Codehighlighter1_343_434_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_343_434_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hello&nbsp;h</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Hello();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Naming.rebind(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,h);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;println&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ready&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_454_485_Open_Image onclick="this.style.display='none'; Codehighlighter1_454_485_Open_Text.style.display='none'; Codehighlighter1_454_485_Closed_Image.style.display='inline'; Codehighlighter1_454_485_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_454_485_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_454_485_Closed_Text.style.display='none'; Codehighlighter1_454_485_Open_Image.style.display='inline'; Codehighlighter1_454_485_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(Exception&nbsp;e)</span><span id=Codehighlighter1_454_485_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_454_485_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
　　因为在写rmi的时候需要通过命令从.class文件中生成*_Stub.class文件，所以必须把groovy文件通过groovyc编译成.class文件，再通过命令rmic **来生成*_Stub.class。另外一个要运行groovy生成的.class文件需要加入groovy的相关包。为了使执行过程自动化，使用了ant来处理。<br>　　在开启rmi的注册服务之后就可以通过ant来执行rmi了。开户rmi服务命令:rmiregistry<br>　　在执行rmi的时候关键是给jvm加个参数-Djava.rmi.server.codebase=file:/F:\grails_apps\groovy\/，注意，网上挺多-Djava.server.codebase的写法，这种写法在我的试验中不能通过。<br>F:\grails_apps\groovy\build.xml<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">project&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mygroovy-build"</span><span style="COLOR: #ff0000">&nbsp;default</span><span style="COLOR: #0000ff">="run"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property&nbsp;</span><span style="COLOR: #ff0000">environment</span><span style="COLOR: #0000ff">="env"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">path&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="groovy.classpath"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset&nbsp;</span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="C:/groovy-1.0/lib/"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">path</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">taskdef&nbsp;</span><span style="COLOR: #ff0000">name&nbsp;</span><span style="COLOR: #0000ff">="groovyc"</span><span style="COLOR: #ff0000">&nbsp;classname&nbsp;</span><span style="COLOR: #0000ff">="org.codehaus.groovy.ant.Groovyc"</span><span style="COLOR: #ff0000">&nbsp;classpathref</span><span style="COLOR: #0000ff">="groovy.classpath"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="compile"</span><span style="COLOR: #ff0000">&nbsp;description</span><span style="COLOR: #0000ff">="compile&nbsp;groovy&nbsp;to&nbsp;bytecode"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">mkdir&nbsp;</span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="classes"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">groovyc&nbsp;</span><span style="COLOR: #ff0000">destdir</span><span style="COLOR: #0000ff">="classes"</span><span style="COLOR: #ff0000">&nbsp;srcdir</span><span style="COLOR: #0000ff">="."</span><span style="COLOR: #ff0000">&nbsp;includes</span><span style="COLOR: #0000ff">="com/c2/HelloIn.groovy,com/c2/Hello.groovy"</span><span style="COLOR: #ff0000">&nbsp;classpathref</span><span style="COLOR: #0000ff">="groovy.classpath"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">groovyc</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mksub"</span><span style="COLOR: #ff0000">&nbsp;depends</span><span style="COLOR: #0000ff">="compile"</span><span style="COLOR: #ff0000">&nbsp;description</span><span style="COLOR: #0000ff">="make&nbsp;the&nbsp;sub"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">rmic&nbsp;</span><span style="COLOR: #ff0000">classname</span><span style="COLOR: #0000ff">="com.c2.Hello"</span><span style="COLOR: #ff0000">&nbsp;base</span><span style="COLOR: #0000ff">="F:/grails_apps/groovy/classes/"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="run"</span><span style="COLOR: #ff0000">&nbsp;depends</span><span style="COLOR: #0000ff">="mksub"</span><span style="COLOR: #ff0000">&nbsp;description</span><span style="COLOR: #0000ff">="run&nbsp;the&nbsp;compiled&nbsp;class"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">java&nbsp;</span><span style="COLOR: #ff0000">classname</span><span style="COLOR: #0000ff">="com.c2.Hello"</span><span style="COLOR: #ff0000">&nbsp;fork</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">classpath&nbsp;</span><span style="COLOR: #ff0000">refid</span><span style="COLOR: #0000ff">="groovy.classpath"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">classpath&nbsp;</span><span style="COLOR: #ff0000">location</span><span style="COLOR: #0000ff">="classes"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">jvmarg&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="-Djava.rmi.server.codebase=file:/F:\grails_apps\groovy\/"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">java</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">project</span><span style="COLOR: #0000ff">&gt;</span></div>
　　可能会遇到编译时的lib问题，如果缺少什么lib就用set classpath吧~`这个问题我也有点疑惑,在另一台机器上使用<span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">path&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="groovy.classpath"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset&nbsp;</span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="C:/groovy-1.0/lib/"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">path&gt;<font color=#000000>不起作用，只能在控制台上事先用set classpath来加下包。</font></span> 
<img src ="http://www.blogjava.net/csnowfox/aggbug/131226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-07-19 10:43 <a href="http://www.blogjava.net/csnowfox/archive/2007/07/19/131226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>antlr-(二)用武之地之处理平衡组</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/25/126085.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Mon, 25 Jun 2007 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/25/126085.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/126085.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/25/126085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/126085.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/126085.html</trackback:ping><description><![CDATA[有这么一个字符串：a1=1,a2=X2{b1=1,b2=X3{c1=1,c2=2}},a3=X4{b1=1} <br>想写一个正则表达式，让下面code的执行结果是： <br>result(以逗号为token来分割字符串，逗号在"{"和"}"里面的忽略其做为token): <br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">a1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>a2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">X2{b1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">b2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">X3{c1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">c2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">}}&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>a3</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">X4{b1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">}</span></div>
以上问题来自 <a href="http://www.javaeye.com/post/265973">http://www.javaeye.com/post/265973</a><br><br>使用antlr3规则处理<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">grammar&nbsp;Spl</span><span style="COLOR: #008000">;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>options&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;output</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">AST</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;ASTLabelType</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">CommonTree</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>stat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;spl</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">0</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #008000">;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>spl&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;step</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">String&nbsp;value</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;(expr</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">step</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">null)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;+</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$expr.value</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$expr.value</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;+<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>expr&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;step</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">String&nbsp;value</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ID&nbsp;'</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ID&nbsp;(|&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">param</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">step</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">)&nbsp;c</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'?&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$a.text&nbsp;+&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;+&nbsp;$b.text</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(p&nbsp;!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">null)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$param.value</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($step&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str)</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(c!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">null)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;+</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">param&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;step</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">String&nbsp;value</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;'{'&nbsp;spl</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">1</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">&nbsp;'}'<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">{</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;+&nbsp;$spl.value&nbsp;+&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">"</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>ID&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;('a'..'z'&nbsp;|&nbsp;'A'..'Z'&nbsp;|&nbsp;'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'&nbsp;..&nbsp;'</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">')('a'..'z'&nbsp;|&nbsp;'A'..'Z'&nbsp;|&nbsp;'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'&nbsp;..&nbsp;'</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">')&nbsp;*</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">EQPARAM&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">WS&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;('&nbsp;'|'\t'|'\n'|'\r')&nbsp;+&nbsp;{skip()</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">};</span></div>
<img src ="http://www.blogjava.net/csnowfox/aggbug/126085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-25 13:26 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/25/126085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>antlr-(一)语言编译的简化</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/19/125176.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Tue, 19 Jun 2007 11:33:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/19/125176.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/125176.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/19/125176.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/125176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/125176.html</trackback:ping><description><![CDATA[<p>&nbsp; 要定义一种语言，你只要按照antlr的语法写一个.g文件，antlr便帮你完成其它的工作，简化至极，当然我使用了antlt studio工具。<br>&nbsp; 参考了antlr的经典书籍《The Definitive ANTLR Reference》写了一个小例子(姑且称之为语言)，呵呵。<br>&nbsp; 我使用了antlr studio 1.1.0里面提供的antlr库，可能是版本问题，使用《The Definitive ANTLR Reference》里面的四则运算的例子居然通过不了，具汗``<br>&nbsp; 语法示例：我们可以这样输入（红色为我们的输入，黑色为输出）</p>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">i=4</span><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">j=6+5*3<br></span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">c=i+j<br></span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">c<br></span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;25<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">j<br></span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;21&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">i&nbsp;=&nbsp;j*(3+1)</span><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">i<br></span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;84<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&gt;&nbsp;<span style="COLOR: red">#</span></div>
&nbsp; 要实现这个语言，我们的全部工作只要写一个antlr的.g文件和一个Main测试执行类。<br>&nbsp; Sample.g<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>import&nbsp;java.util.HashMap</span><span style="COLOR: #008000">;//会出现在paser生成类头部<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>class&nbsp;SampleParser&nbsp;extends&nbsp;Parser</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">options&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #008000">; //定义了编译程序对输入字符串的预测深度默认是一<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #000000">}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HashMap&nbsp;memory&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;new&nbsp;HashMap()</span><span style="COLOR: #008000">;//出现在paser生成类的构造函数处<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>prog:&nbsp;(stat)&nbsp;+&nbsp;END</span><span style="COLOR: #008000">;//使用这个antlr版本，+?号前必加上( ),否则编译报错,出现的字符都必须在lexer里定义，不能出现如'='这种符号<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">stat&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;e</span><span style="COLOR: #008000">;//申明action里使用到的变量<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}:&nbsp;&nbsp;NEWLINE<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;(id:ID&nbsp;EQ&nbsp;e</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">expr&nbsp;NEWLINE)&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{memory.put(id.getText()</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&nbsp;new&nbsp;Integer(e))</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">}</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;|(id1:ID&nbsp;NEWLINE)&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;v&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Integer)memory.get(id1.getText())</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(v)</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}|&nbsp;(e</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">expr&nbsp;NEWLINE)&nbsp;{System.out.println(e)</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">}</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>expr&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;value=0</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;e1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">e2</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}:&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(e1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">multExpr)&nbsp;{value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;e1</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">}</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;ADD&nbsp;(e2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">multExpr)&nbsp;{value&nbsp;+</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;e2</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">}</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;DES&nbsp;(e2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">multExpr)&nbsp;{value&nbsp;-</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;e2</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">})*;</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>multExpr&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;value=0</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;at1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">at2</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}:&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(at1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">atom)&nbsp;{value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;at1</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">}</span><span style="COLOR: #000000">(CH&nbsp;at2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">atom{value*</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">at2</span><span style="COLOR: #008000">;</span><span style="COLOR: #008000">})*;</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>atom&nbsp;returns&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #800000">[</span><span style="COLOR: #800000">int&nbsp;value=0</span><span style="FONT-WEIGHT: bold; COLOR: #800000">]</span><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;e</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}:&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(i:INT)&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Integer.parseInt(i.getText())</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;|&nbsp;(id:ID)&nbsp;&nbsp;{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;v&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Integer)memory.get(id.getText())</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;v!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">null&nbsp;)&nbsp;value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;v.intValue()</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;System.err.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">undefined&nbsp;variable&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+id.getText())</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}|&nbsp;(KL&nbsp;e</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">expr&nbsp;KR){<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;e</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>class&nbsp;SampleLexer&nbsp;extends&nbsp;Lexer</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">ID&nbsp;:&nbsp;('a'..'z'&nbsp;|'A'..'Z'&nbsp;)+&nbsp;</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">INT&nbsp;:&nbsp;('</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'..'</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">')&nbsp;+&nbsp;</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">NEWLINE:&nbsp;('\r')&nbsp;?&nbsp;'\n'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">WS&nbsp;:&nbsp;('&nbsp;'&nbsp;|'\t'&nbsp;|'\n'&nbsp;|'\r'&nbsp;)+&nbsp;&nbsp;</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">ADD:&nbsp;'+'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">DES:&nbsp;'-'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">CH:&nbsp;'*'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">KL:&nbsp;'('</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">KR:&nbsp;')'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">EQ:&nbsp;'</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #008000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">END:&nbsp;'#'</span><span style="COLOR: #008000">;</span></div>
<br>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;antlr.RecognitionException;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;antlr.TokenStreamException;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_90_427_Open_Image onclick="this.style.display='none'; Codehighlighter1_90_427_Open_Text.style.display='none'; Codehighlighter1_90_427_Closed_Image.style.display='inline'; Codehighlighter1_90_427_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_90_427_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_90_427_Closed_Text.style.display='none'; Codehighlighter1_90_427_Open_Image.style.display='inline'; Codehighlighter1_90_427_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Main&nbsp;</span><span id=Codehighlighter1_90_427_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_90_427_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_94_117_Open_Image onclick="this.style.display='none'; Codehighlighter1_94_117_Open_Text.style.display='none'; Codehighlighter1_94_117_Closed_Image.style.display='inline'; Codehighlighter1_94_117_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_94_117_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_94_117_Closed_Text.style.display='none'; Codehighlighter1_94_117_Open_Image.style.display='inline'; Codehighlighter1_94_117_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_94_117_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">/**&nbsp;*/</span><span id=Codehighlighter1_94_117_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;args<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_159_425_Open_Image onclick="this.style.display='none'; Codehighlighter1_159_425_Open_Text.style.display='none'; Codehighlighter1_159_425_Closed_Image.style.display='inline'; Codehighlighter1_159_425_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_159_425_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_159_425_Closed_Text.style.display='none'; Codehighlighter1_159_425_Open_Image.style.display='inline'; Codehighlighter1_159_425_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_159_425_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_159_425_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SampleLexer&nbsp;lexer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SampleLexer(System.in);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SampleParser&nbsp;parser&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SampleParser(lexer);<br><img id=Codehighlighter1_278_300_Open_Image onclick="this.style.display='none'; Codehighlighter1_278_300_Open_Text.style.display='none'; Codehighlighter1_278_300_Closed_Image.style.display='inline'; Codehighlighter1_278_300_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_278_300_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_278_300_Closed_Text.style.display='none'; Codehighlighter1_278_300_Open_Image.style.display='inline'; Codehighlighter1_278_300_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_278_300_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_278_300_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parser.prog();<br><img id=Codehighlighter1_333_361_Open_Image onclick="this.style.display='none'; Codehighlighter1_333_361_Open_Text.style.display='none'; Codehighlighter1_333_361_Closed_Image.style.display='inline'; Codehighlighter1_333_361_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_333_361_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_333_361_Closed_Text.style.display='none'; Codehighlighter1_333_361_Open_Image.style.display='inline'; Codehighlighter1_333_361_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(RecognitionException&nbsp;e)&nbsp;</span><span id=Codehighlighter1_333_361_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_333_361_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br><img id=Codehighlighter1_394_422_Open_Image onclick="this.style.display='none'; Codehighlighter1_394_422_Open_Text.style.display='none'; Codehighlighter1_394_422_Closed_Image.style.display='inline'; Codehighlighter1_394_422_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_394_422_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_394_422_Closed_Text.style.display='none'; Codehighlighter1_394_422_Open_Image.style.display='inline'; Codehighlighter1_394_422_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(TokenStreamException&nbsp;e)&nbsp;</span><span id=Codehighlighter1_394_422_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_394_422_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/125176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-19 19:33 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/19/125176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>asm学习(6)--asm应用(使用jasml对antlrstudio破解)</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/17/124828.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Sun, 17 Jun 2007 11:50:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/17/124828.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/124828.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/17/124828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/124828.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/124828.html</trackback:ping><description><![CDATA[<font style="BACKGROUND-COLOR: #ffffff">　　antlr，语言识别的一个工具（anothertoolforlanguagerecognition，前身是pccts），它提供了一个框架，可以通过包含java、c++或c#动作的语法描述来构造语言识别器，编译器和解释器。antlrstudio是一款用于eclipse的插件，可以用来创建、调试antlr语法的集成环境。<br>　　在antlrstudio的官方网站上提供的eclipse插件并没有提供相应的licence.lic文件，所以我们还不能使用它的全部功能。<br>　　在CowNew开源团队网站 <a href="http://www.cownew.com/">www.cownew.com</a>上由kingchou提出了一个破解方案，我的操作都是基于这个方案的。<br>　　方案是这样描述的：AntlrStudio中antlr_Studio.license包中主要的类，也是其抵挡未注册者使用的主要防线。1、当插件启动时会先调用ASLicenseManager类的checkForLicense()。2、方法checkForLicense在此调用LicenseManager类的daysLeft()获取剩余日期。3、进而触发License类，其读取License.lic注册文件的信息，并会调用SignatureUtil工具类对其签名做验证。在ASLicenseManager中有一个很薄弱的环节，即：<br>int i = licensemanager.daysLeft();<br>if (i != -2) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (hasAlreadyExpired() || i &lt;= 0)<br>　　&#8230;&#8230;<br>只要daysLeft()返回值为-2即判断为正式用户。因而只要修改LicenseManagerImpl的daysLeft()方法为：<br>public int daysLeft() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -2;<br>}<br>　　由xml1123提出的修改是：直接将i&nbsp;&nbsp; 赋值为-2<br>int i = licensemanager.daysLeft();<br>i=-2;<br>if (i != -2) {<br>　&#8230;&#8230;<br>　　我的作法是采取了xml1123的修改。<br>　　以下描述我的修改步骤：<br>　　(1).在eclipse\plugins\AntlrStudio_1.1.0中找到AntlrStudio.jar文件。解压AntlrStudio.jar\antlr_Studio\license中的ASLicenseManager.class出来，放到与jasml.jar(参考asm学习(0)--java字节码工具Jasml)同一级目录下。<br>　　(2).cmd进入控制台，cd到jasml.jar目录下，输入以下命令:<br>　　set classpath=%classpath%;jasml.jar;<br>　　java jasml -d ASLicenseManager.class<br>　　(3).打开生成的ASLicenseManager.jasm文件，找到<br>　　　-----------　原文　---------<br>　　　invokevirtual&nbsp;&nbsp; int antlr_Studio.license.LicenseManager.daysLeft()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; istore_1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iload_1&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bipush&nbsp;&nbsp; 254<br>　　　-----------　修改为　----------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invokevirtual&nbsp;&nbsp; int antlr_Studio.license.LicenseManager.daysLeft()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; istore_1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bipush 254<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; istore_1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iload_1&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bipush&nbsp;&nbsp; 254<br>　　(4).通过jasm文件编译成.class文件。在控制台中输入命令:<br>　　java jasml -c -o ASLicenseManager.jasm<br>　　重新生成了ASLicenseManager.class文件<br>　　(5).把生成的ASLicenseManager.class文件覆盖在原来eclipse\plugins\AntlrStudio_1.1.0中找到的AntlrStudio.jar文件中的ASLicenseManager.class。<br>　　(6).新建一个license.lic文件，放到plugins\AntlrStudio_1.1.0下，里面的内容为：
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">2007</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">01</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">01</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>Signature</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0001</span></div>
　　启动eclipse成功进入。<br>　　修改好的ASLicenseManager.class.下载地址：<a href="http://www.blogjava.net/Files/csnowfox/ASLicenseManager.rar">http://www.blogjava.net/Files/csnowfox/ASLicenseManager.rar</a>直接找到覆盖就行。<br>　　注意：此文仅供研究参考。提倡使用正版。<br></font>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/124828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-17 19:50 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/17/124828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(七)-Jquery插件jquery.jq.mvc发布 </title><link>http://www.blogjava.net/csnowfox/archive/2007/06/15/124505.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Fri, 15 Jun 2007 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/15/124505.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/124505.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/15/124505.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/124505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/124505.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: javascript的应用，必然导致大量的javascript代码出现在最终的html页面上，带来混乱的逻辑。一个框架性模式在javascript开发中的重要性渐渐浮现。　　我们在使用ajax开发中，常常做这样一件事情:在一个标签容器中加载一些特定内容。这些内容是什么呢？无非只有两种东西:数据与页面样式。　　jquery.jq.mvc处理的就是这种情况。在应用jquery.jq.mvc框架之后，我...&nbsp;&nbsp;<a href='http://www.blogjava.net/csnowfox/archive/2007/06/15/124505.html'>阅读全文</a><img src ="http://www.blogjava.net/csnowfox/aggbug/124505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-15 15:03 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/15/124505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(六)-Jquery插件jquery.jq.databinding发布</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/15/124490.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Fri, 15 Jun 2007 06:27:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/15/124490.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/124490.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/15/124490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/124490.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/124490.html</trackback:ping><description><![CDATA[<p>　　在前面两篇文章中，分别叙述了通过html旧标签来做数据的绑定工作的好处与实现，通过整理，把绑定方法的代码包装成Jquery的plug型式。<br>　　下载地址：<a href="http://www.blogjava.net/Files/csnowfox/jquery.jq.databinding.rar">/Files/csnowfox/jquery.jq.databinding.rar</a><br><br>文件jquery.jq.databinding.js所有源码为：</p>
<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"><img id=Codehighlighter1_0_266_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_266_Open_Text.style.display='none'; Codehighlighter1_0_266_Closed_Image.style.display='inline'; Codehighlighter1_0_266_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_266_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_266_Closed_Text.style.display='none'; Codehighlighter1_0_266_Open_Image.style.display='inline'; Codehighlighter1_0_266_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_266_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">/**/</span><span id=Codehighlighter1_0_266_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;jQuery&nbsp;databinding&nbsp;plugin<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;Version&nbsp;1.0&nbsp;&nbsp;(06/14/2007)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@requires&nbsp;jQuery&nbsp;v1.1.1<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;Copyright&nbsp;(c)&nbsp;2007&nbsp;JingleQ<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;Dual&nbsp;licensed&nbsp;under&nbsp;the&nbsp;MIT&nbsp;and&nbsp;GPL&nbsp;licenses:<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;http://www.opensource.org/licenses/mit-license.php<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;http://www.gnu.org/licenses/gpl.html<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_269_1233_Open_Image onclick="this.style.display='none'; Codehighlighter1_269_1233_Open_Text.style.display='none'; Codehighlighter1_269_1233_Closed_Image.style.display='inline'; Codehighlighter1_269_1233_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_269_1233_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_269_1233_Closed_Text.style.display='none'; Codehighlighter1_269_1233_Open_Image.style.display='inline'; Codehighlighter1_269_1233_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_269_1233_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">/**/</span><span id=Codehighlighter1_269_1233_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;bind&nbsp;the&nbsp;datas&nbsp;to&nbsp;the&nbsp;dom&nbsp;node&nbsp;talbe&nbsp;which&nbsp;like&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;table&nbsp;border="0"&nbsp;cellspacing="5"&nbsp;cellpadding="5"&nbsp;id="ta"&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;tbody&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;定制menu是为了使标题和下面的列表可以有不一样的样式布局&nbsp;--&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&nbsp;id="menu"&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;用户名&lt;/td&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;密码&lt;/td&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--　用于数据绑定&nbsp;--&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&nbsp;id="def"&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;bindingData="name"&nbsp;bindingPattern="[function]&nbsp;changeName({0})"&gt;&lt;/td&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;bindingData="password"&gt;&lt;/td&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;下面是其它的布局辅助绑定数据后依然位于表格底部&nbsp;--&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;colspan="2"&gt;&amp;nbsp;---&nbsp;分页&nbsp;---&lt;/td&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;/tbody&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;/table&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;itemCallBackFunction&nbsp;is&nbsp;a&nbsp;callback&nbsp;function<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;using&nbsp;like&nbsp;this<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;$("#ta").bindingItemsData(dataMap,function(l,it){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(it).hover(function(){<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(it).addClass("blue");<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},function(){<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(it).removeClass("blue");<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;});<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@example&nbsp;$("#ta").bindingItemsData(dataMap);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@example&nbsp;with&nbsp;callback&nbsp;function&nbsp;$("#ta").bindingItemsData(dataMap,function(l,it)&nbsp;{});<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@name&nbsp;bindingItemsData<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@type&nbsp;jQuery<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1303_2090_Open_Image onclick="this.style.display='none'; Codehighlighter1_1303_2090_Open_Text.style.display='none'; Codehighlighter1_1303_2090_Closed_Image.style.display='inline'; Codehighlighter1_1303_2090_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1303_2090_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1303_2090_Closed_Text.style.display='none'; Codehighlighter1_1303_2090_Open_Image.style.display='inline'; Codehighlighter1_1303_2090_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>jQuery.fn.bindingItemsData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;(datas,&nbsp;itemCallBackFunction)&nbsp;</span><span id=Codehighlighter1_1303_2090_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1303_2090_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;self&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_1363_1913_Open_Image onclick="this.style.display='none'; Codehighlighter1_1363_1913_Open_Text.style.display='none'; Codehighlighter1_1363_1913_Closed_Image.style.display='inline'; Codehighlighter1_1363_1913_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1363_1913_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1363_1913_Closed_Text.style.display='none'; Codehighlighter1_1363_1913_Open_Image.style.display='inline'; Codehighlighter1_1363_1913_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.find(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#def</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;(i,n)&nbsp;</span><span id=Codehighlighter1_1363_1913_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1363_1913_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_1388_1910_Open_Image onclick="this.style.display='none'; Codehighlighter1_1388_1910_Open_Text.style.display='none'; Codehighlighter1_1388_1910_Closed_Image.style.display='inline'; Codehighlighter1_1388_1910_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1388_1910_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1388_1910_Closed_Text.style.display='none'; Codehighlighter1_1388_1910_Open_Image.style.display='inline'; Codehighlighter1_1388_1910_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(index&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;datas)&nbsp;</span><span id=Codehighlighter1_1388_1910_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1388_1910_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;newTr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;$(n).clone();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;---　标记列表&nbsp;---</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTr.attr(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">item</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">true</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img id=Codehighlighter1_1507_1870_Open_Image onclick="this.style.display='none'; Codehighlighter1_1507_1870_Open_Text.style.display='none'; Codehighlighter1_1507_1870_Closed_Image.style.display='inline'; Codehighlighter1_1507_1870_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1507_1870_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1507_1870_Closed_Text.style.display='none'; Codehighlighter1_1507_1870_Open_Image.style.display='inline'; Codehighlighter1_1507_1870_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTr.find(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(k,o)</span><span id=Codehighlighter1_1507_1870_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1507_1870_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_1574_1804_Open_Image onclick="this.style.display='none'; Codehighlighter1_1574_1804_Open_Text.style.display='none'; Codehighlighter1_1574_1804_Closed_Image.style.display='inline'; Codehighlighter1_1574_1804_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1574_1804_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1574_1804_Closed_Text.style.display='none'; Codehighlighter1_1574_1804_Open_Image.style.display='inline'; Codehighlighter1_1574_1804_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(o.bindingPattern&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;undefined&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;o.bindingPattern&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_1574_1804_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1574_1804_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_1585_1763_Open_Image onclick="this.style.display='none'; Codehighlighter1_1585_1763_Open_Text.style.display='none'; Codehighlighter1_1585_1763_Closed_Image.style.display='inline'; Codehighlighter1_1585_1763_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1585_1763_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1585_1763_Closed_Text.style.display='none'; Codehighlighter1_1585_1763_Open_Image.style.display='inline'; Codehighlighter1_1585_1763_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_1585_1763_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1585_1763_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.bindingPattern&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;o.bindingPattern.replace(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[function]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;eval(o.bindingPattern.replace(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\{0\}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;datas[index][o.bindingData]&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img id=Codehighlighter1_1775_1798_Open_Image onclick="this.style.display='none'; Codehighlighter1_1775_1798_Open_Text.style.display='none'; Codehighlighter1_1775_1798_Closed_Image.style.display='inline'; Codehighlighter1_1775_1798_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1775_1798_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1775_1798_Closed_Text.style.display='none'; Codehighlighter1_1775_1798_Open_Image.style.display='inline'; Codehighlighter1_1775_1798_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(e)&nbsp;</span><span id=Codehighlighter1_1775_1798_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1775_1798_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(e);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1811_1865_Open_Image onclick="this.style.display='none'; Codehighlighter1_1811_1865_Open_Text.style.display='none'; Codehighlighter1_1811_1865_Closed_Image.style.display='inline'; Codehighlighter1_1811_1865_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1811_1865_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1811_1865_Closed_Text.style.display='none'; Codehighlighter1_1811_1865_Open_Image.style.display='inline'; Codehighlighter1_1811_1865_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_1811_1865_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1811_1865_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;datas[index][o.bindingData];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.find(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#def</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).after(newTr);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;---　通过回调添加列表样式&nbsp;---</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_1981_2076_Open_Image onclick="this.style.display='none'; Codehighlighter1_1981_2076_Open_Text.style.display='none'; Codehighlighter1_1981_2076_Closed_Image.style.display='inline'; Codehighlighter1_1981_2076_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1981_2076_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1981_2076_Closed_Text.style.display='none'; Codehighlighter1_1981_2076_Open_Image.style.display='inline'; Codehighlighter1_1981_2076_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(itemCallBackFunction&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;undefined)&nbsp;</span><span id=Codehighlighter1_1981_2076_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1981_2076_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2032_2068_Open_Image onclick="this.style.display='none'; Codehighlighter1_2032_2068_Open_Text.style.display='none'; Codehighlighter1_2032_2068_Closed_Image.style.display='inline'; Codehighlighter1_2032_2068_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2032_2068_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2032_2068_Closed_Text.style.display='none'; Codehighlighter1_2032_2068_Open_Image.style.display='inline'; Codehighlighter1_2032_2068_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#ta</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).find(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tr[@item]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(l,it)&nbsp;</span><span id=Codehighlighter1_2032_2068_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2032_2068_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;itemCallBackFunction(l,it)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;ta;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_2093_2342_Open_Image onclick="this.style.display='none'; Codehighlighter1_2093_2342_Open_Text.style.display='none'; Codehighlighter1_2093_2342_Closed_Image.style.display='inline'; Codehighlighter1_2093_2342_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_2093_2342_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2093_2342_Closed_Text.style.display='none'; Codehighlighter1_2093_2342_Open_Image.style.display='inline'; Codehighlighter1_2093_2342_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_2093_2342_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">/**/</span><span id=Codehighlighter1_2093_2342_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;bind&nbsp;the&nbsp;data&nbsp;to&nbsp;the&nbsp;dom&nbsp;node&nbsp;which&nbsp;like&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;span&nbsp;id="dt"&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bindingData="name"&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bindingPattern="[function]&nbsp;changeName({0})"&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;&lt;/span&gt;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@example&nbsp;$("span").bindingSpanData(dataMap);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@name&nbsp;bindingSpanData<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@type&nbsp;jQuery<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_2386_2749_Open_Image onclick="this.style.display='none'; Codehighlighter1_2386_2749_Open_Text.style.display='none'; Codehighlighter1_2386_2749_Closed_Image.style.display='inline'; Codehighlighter1_2386_2749_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_2386_2749_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2386_2749_Closed_Text.style.display='none'; Codehighlighter1_2386_2749_Open_Image.style.display='inline'; Codehighlighter1_2386_2749_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>jQuery.fn.bindingSpanData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(data)</span><span id=Codehighlighter1_2386_2749_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2386_2749_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2421_2746_Open_Image onclick="this.style.display='none'; Codehighlighter1_2421_2746_Open_Text.style.display='none'; Codehighlighter1_2421_2746_Closed_Image.style.display='inline'; Codehighlighter1_2421_2746_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2421_2746_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2421_2746_Closed_Text.style.display='none'; Codehighlighter1_2421_2746_Open_Image.style.display='inline'; Codehighlighter1_2421_2746_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.each(</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;(i,n)&nbsp;</span><span id=Codehighlighter1_2421_2746_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2421_2746_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2486_2694_Open_Image onclick="this.style.display='none'; Codehighlighter1_2486_2694_Open_Text.style.display='none'; Codehighlighter1_2486_2694_Closed_Image.style.display='inline'; Codehighlighter1_2486_2694_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2486_2694_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2486_2694_Closed_Text.style.display='none'; Codehighlighter1_2486_2694_Open_Image.style.display='inline'; Codehighlighter1_2486_2694_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(n.bindingPattern&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;undefined&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;n.bindingPattern&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_2486_2694_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2486_2694_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_2495_2659_Open_Image onclick="this.style.display='none'; Codehighlighter1_2495_2659_Open_Text.style.display='none'; Codehighlighter1_2495_2659_Closed_Image.style.display='inline'; Codehighlighter1_2495_2659_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2495_2659_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2495_2659_Closed_Text.style.display='none'; Codehighlighter1_2495_2659_Open_Image.style.display='inline'; Codehighlighter1_2495_2659_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_2495_2659_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2495_2659_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.bindingPattern&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n.bindingPattern.replace(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[function]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;eval(n.bindingPattern.replace(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\{0\}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;data[n.bindingData]&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img id=Codehighlighter1_2671_2690_Open_Image onclick="this.style.display='none'; Codehighlighter1_2671_2690_Open_Text.style.display='none'; Codehighlighter1_2671_2690_Closed_Image.style.display='inline'; Codehighlighter1_2671_2690_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2671_2690_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2671_2690_Closed_Text.style.display='none'; Codehighlighter1_2671_2690_Open_Image.style.display='inline'; Codehighlighter1_2671_2690_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(e)&nbsp;</span><span id=Codehighlighter1_2671_2690_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2671_2690_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(e);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_2701_2743_Open_Image onclick="this.style.display='none'; Codehighlighter1_2701_2743_Open_Text.style.display='none'; Codehighlighter1_2701_2743_Closed_Image.style.display='inline'; Codehighlighter1_2701_2743_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2701_2743_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2701_2743_Closed_Text.style.display='none'; Codehighlighter1_2701_2743_Open_Image.style.display='inline'; Codehighlighter1_2701_2743_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_2701_2743_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2701_2743_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;data[n.bindingData];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<img src ="http://www.blogjava.net/csnowfox/aggbug/124490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-15 14:27 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/15/124490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(五)-旧标签新属性(列表展示)</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/13/123840.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Wed, 13 Jun 2007 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/13/123840.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123840.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/13/123840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123840.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123840.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过旧标签新属性能很好的简化列表。数据统一放到javascript的数据区，不影响html页面展示.　　写了个简单模型，还不支持分页和排序，有待扩展!　　示例代码：&lt;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01//ZH-CN"&nbsp;"http://www.w3.org/TR/html4/st...&nbsp;&nbsp;<a href='http://www.blogjava.net/csnowfox/archive/2007/06/13/123840.html'>阅读全文</a><img src ="http://www.blogjava.net/csnowfox/aggbug/123840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-13 13:03 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/13/123840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(四)-旧标签新属性(页面数据分离与数据转化处理)</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/13/123749.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Wed, 13 Jun 2007 00:17:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/13/123749.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123749.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/13/123749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123749.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123749.html</trackback:ping><description><![CDATA[<p>&nbsp;　　今天才发现原来html的基本标签里面的属性是可以由我们自己随意添加的，而且通过DOM方式还能够访问到。这一功能可以做很多事情。<br>　　这里我做的就是数据分离，这是用好ajax的前提条件。实现中，通过在span标签中添加上bindingData属性和bindingPattern属性来指明数据和数据转化逻辑。通过javascript处理填入数据内容。<br>　　当然要处理javascript代码，使用了jquery，jquery在操作DOM对象的时候带来很大的便利。另外jquery在ajax与数据展示特效中都有出色的表现。后面会再有详细说明。<br>　　整个程序如下：<br><br></p>
<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"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01//ZH-CN"&nbsp;"http://www.w3.org/TR/html4/strict.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">HelloWorld</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="lib/jquery/jquery.js"</span><span style="COLOR: #ff0000">&nbsp;type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #ff0000">&nbsp;charset</span><span style="COLOR: #0000ff">="utf-8"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_274_1064_Open_Image onclick="this.style.display='none'; Codehighlighter1_274_1064_Open_Text.style.display='none'; Codehighlighter1_274_1064_Closed_Image.style.display='inline'; Codehighlighter1_274_1064_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_274_1064_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_274_1064_Closed_Text.style.display='none'; Codehighlighter1_274_1064_Open_Image.style.display='inline'; Codehighlighter1_274_1064_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #ff0000">&nbsp;charset</span><span style="COLOR: #0000ff">="utf-8"</span><span style="COLOR: #0000ff">&gt;</span><span id=Codehighlighter1_274_1064_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_274_1064_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;基本数据区&nbsp;---</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img id=Codehighlighter1_315_349_Open_Image onclick="this.style.display='none'; Codehighlighter1_315_349_Open_Text.style.display='none'; Codehighlighter1_315_349_Closed_Image.style.display='inline'; Codehighlighter1_315_349_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_315_349_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_315_349_Closed_Text.style.display='none'; Codehighlighter1_315_349_Open_Image.style.display='inline'; Codehighlighter1_315_349_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;dataMap&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span id=Codehighlighter1_315_349_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_315_349_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">name</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0001</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">password</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">123456</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br><img id=Codehighlighter1_369_399_Open_Image onclick="this.style.display='none'; Codehighlighter1_369_399_Open_Text.style.display='none'; Codehighlighter1_369_399_Closed_Image.style.display='inline'; Codehighlighter1_369_399_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_369_399_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_369_399_Closed_Text.style.display='none'; Codehighlighter1_369_399_Open_Image.style.display='inline'; Codehighlighter1_369_399_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;userMap&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span id=Codehighlighter1_369_399_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_369_399_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0001</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">jingle</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0002</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">chen</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;end&nbsp;---&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;基本数据格式转换逻辑区&nbsp;---&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img id=Codehighlighter1_477_507_Open_Image onclick="this.style.display='none'; Codehighlighter1_477_507_Open_Text.style.display='none'; Codehighlighter1_477_507_Closed_Image.style.display='inline'; Codehighlighter1_477_507_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_477_507_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_477_507_Closed_Text.style.display='none'; Codehighlighter1_477_507_Open_Image.style.display='inline'; Codehighlighter1_477_507_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;changeName(val)&nbsp;</span><span id=Codehighlighter1_477_507_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_477_507_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">return</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;userMap[val];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;end&nbsp;---</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;数据绑定&nbsp;---</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img id=Codehighlighter1_581_1040_Open_Image onclick="this.style.display='none'; Codehighlighter1_581_1040_Open_Text.style.display='none'; Codehighlighter1_581_1040_Closed_Image.style.display='inline'; Codehighlighter1_581_1040_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_581_1040_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_581_1040_Closed_Text.style.display='none'; Codehighlighter1_581_1040_Open_Image.style.display='inline'; Codehighlighter1_581_1040_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;&nbsp;$(document).ready(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;()</span><span id=Codehighlighter1_581_1040_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_581_1040_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img id=Codehighlighter1_617_1034_Open_Image onclick="this.style.display='none'; Codehighlighter1_617_1034_Open_Text.style.display='none'; Codehighlighter1_617_1034_Closed_Image.style.display='inline'; Codehighlighter1_617_1034_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_617_1034_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_617_1034_Closed_Text.style.display='none'; Codehighlighter1_617_1034_Open_Image.style.display='inline'; Codehighlighter1_617_1034_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;$(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">span</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).each(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;(i,n)&nbsp;</span><span id=Codehighlighter1_617_1034_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_617_1034_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img id=Codehighlighter1_685_970_Open_Image onclick="this.style.display='none'; Codehighlighter1_685_970_Open_Text.style.display='none'; Codehighlighter1_685_970_Closed_Image.style.display='inline'; Codehighlighter1_685_970_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_685_970_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_685_970_Closed_Text.style.display='none'; Codehighlighter1_685_970_Open_Image.style.display='inline'; Codehighlighter1_685_970_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;(n.bindingPattern&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;undefined&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">||</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;n.bindingPattern&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">""</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)&nbsp;</span><span id=Codehighlighter1_685_970_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_685_970_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img id=Codehighlighter1_697_926_Open_Image onclick="this.style.display='none'; Codehighlighter1_697_926_Open_Text.style.display='none'; Codehighlighter1_697_926_Closed_Image.style.display='inline'; Codehighlighter1_697_926_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_697_926_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_697_926_Closed_Text.style.display='none'; Codehighlighter1_697_926_Open_Image.style.display='inline'; Codehighlighter1_697_926_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">try</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span id=Codehighlighter1_697_926_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_697_926_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.bindingPattern&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;n.bindingPattern.replace(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">[function]</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">""</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;调用处理方法&nbsp;---</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">当然可以在这里加强，不止只有一个参数</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.innerHTML&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;eval(n.bindingPattern.replace(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\{0\}</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;dataMap[n.bindingData]&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">));<br><img id=Codehighlighter1_938_963_Open_Image onclick="this.style.display='none'; Codehighlighter1_938_963_Open_Text.style.display='none'; Codehighlighter1_938_963_Closed_Image.style.display='inline'; Codehighlighter1_938_963_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_938_963_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_938_963_Closed_Text.style.display='none'; Codehighlighter1_938_963_Open_Image.style.display='inline'; Codehighlighter1_938_963_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">catch</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;(e)&nbsp;</span><span id=Codehighlighter1_938_963_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_938_963_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(e);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img id=Codehighlighter1_977_1028_Open_Image onclick="this.style.display='none'; Codehighlighter1_977_1028_Open_Text.style.display='none'; Codehighlighter1_977_1028_Closed_Image.style.display='inline'; Codehighlighter1_977_1028_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_977_1028_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_977_1028_Closed_Text.style.display='none'; Codehighlighter1_977_1028_Open_Image.style.display='inline'; Codehighlighter1_977_1028_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">else</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;</span><span id=Codehighlighter1_977_1028_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 src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_977_1028_Open_Text><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.innerHTML&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&nbsp;dataMap[n.bindingData];<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">&nbsp;---&nbsp;end&nbsp;---</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;</span></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="head"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">HelloWOrld</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">hr</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="conent"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;这样写在html区域代码清晰明了&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">table&nbsp;</span><span style="COLOR: #ff0000">border</span><span style="COLOR: #0000ff">="0"</span><span style="COLOR: #ff0000">&nbsp;cellspacing</span><span style="COLOR: #0000ff">="5"</span><span style="COLOR: #ff0000">&nbsp;cellpadding</span><span style="COLOR: #0000ff">="5"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">bindingData</span><span style="COLOR: #0000ff">="name"</span><span style="COLOR: #ff0000">&nbsp;bindingPattern</span><span style="COLOR: #0000ff">="[function]&nbsp;changeName({0})"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">bindingData</span><span style="COLOR: #0000ff">="password"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">td</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">tr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">table</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/123749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-13 08:17 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/13/123749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(三)-重复的东西我来做Snippets(下)</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/12/123639.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Tue, 12 Jun 2007 08:26:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/12/123639.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123639.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/12/123639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123639.html</trackback:ping><description><![CDATA[<p>　　进一步深入Snippets。<br>　　在Script头里面有一个DOM属性，他确实是库的引入功能。如DOM:http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript就是引入了在plug-in中org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171.jar中所包函的类库，他是DOM的一个扩展，所以带给了我们了一些内置的变量来提高我们的开发效率，如:resources,views,io,editors。在Eclipse Monkey Example中，这些内置变量出现的用法为<br>　　resources//资源对象<br>　　var files = resources.filesMatching(".*\\.java"); \\找到所有.java文件<br>　　views//视图对象<br>　　var webView = views.getView("GooleWebView");　\\生成一个视图<br>　　editors//编辑器对象<br>　　var editor = editores.activeEditor;\\得到一个活动的编辑器<br>　　具体这些变量还有什么属性和方法，我参考了在org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171中的原代码，如resources类，找到org.eclipse.eclipsemonkey.lang.javascript_0.1.10.15171\src\org\eclipse\eclipsemonkey\lang\javascript\doms\resources下的Resources.java,可以发现类里面就对应有一个filesMatching方法，而对于editores,在其构造函数中找到如下代码：<br>&nbsp;&nbsp; String[] names = new String[] { <br>&nbsp;&nbsp;&nbsp;&nbsp; //"open", <br>&nbsp;&nbsp;&nbsp;&nbsp; "toString"<br>&nbsp;&nbsp;&nbsp;&nbsp; };</p>
<p>&nbsp;&nbsp; this.defineFunctionProperties(names, Editors.class, PERMANENT | READONLY);</p>
<p>&nbsp;&nbsp; this.defineProperty("all", Editors.class, PERMANENT | READONLY);<br>&nbsp;&nbsp; this.defineProperty("activeEditor", Editors.class, PERMANENT | READONLY);<br>这就告诉我们这个变量里面，我们可以使用all,activeEditor属性和toString方法。<br>　　另外在plugins\com.aptana.ide.scripting_0.2.8.15171\docs中，提供了部分的js的接口，里面有描述部份变量和对象的使用，如Editors.js，File.js，Global.js等。</p>
<p>　　在上一节中，我提到了一个问题就是在我编写的打开程序所在的文件夹时候，只能打开aptana方式打开的视图的文件，通过追查源码，我发现，aptana中提供的editor有css,html,js,php,xml这些编辑器类中都有提供了一个getFileContext()方法，而这是eclipse原来的视图所不一定具有的，所以提示错误为找不到getFileContext()方法。</p>
<p>　　Snippets是一个辅助工具，灵活简单，特别是在文本处理上能提供很好的帮助。但是他的功能还是受到局限，开发复杂的操作还是选用eclipse的plug-in功能为好。其待Snippets有很好的发展。</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/123639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-12 16:26 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/12/123639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(二)-重复的东西我来做Snippets(上)? </title><link>http://www.blogjava.net/csnowfox/archive/2007/06/12/123637.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Tue, 12 Jun 2007 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/12/123637.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123637.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/12/123637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123637.html</trackback:ping><description><![CDATA[<p>　　沿着aptana的脚步，我遇到了Snippets，开始我还以为是aptana所特有的东西，原来Snippets来自Monkey-Eclipse Monkey。<br>　　什么是Monkey呢？<br>　　官方网址为<a href="http://www.eclipse.org/dash/"><u><font color=#800080>http://www.eclipse.org/dash/</font></u></a><br>　　Monkey是一个用于自动完成繁琐的编程任务的动枋态脚本工具。他使用javascript的语法，有其自带的开发库又可以使用某些java的函数。因为它的简单性，我认为它是区别于plugs-in的另外一种对eclipse的扩展的好工具。<br>　　来，看看Eclipse Monkey Example带给了我们什么应用。<br>　　属于Editors的命令有：Commont Lines,Leading Spaces to Tabs,Leading Tabs to Spaces。<br>　　属于Experimental的命令有：Colorize as HTML,Exercise Editor,Load Metadata,Show Lexemes,Show Parse Tree.<br>　　......<br>　　不一一列举了。<br>　　学习的资料是少，我看了看代码，理解出了用法。仿照着写了两个Snippets,分别完成两个单独的功能。注意，由我自己的经验是需要3.2以上版本才对aptana与monkey有很好的支持。如果先装了aptana之后再装monkey的话，如monkey的文档所说到的monkey example很难加载到菜单上，需要手动修改配置，具体方法还没确定，如果先装了monkey，就可以先新建出monkey example再装aptana，这样我们开发Snippets就简单多了，直接生成了个workplace中的项目，写完Snippets保存，马上就能通过Snippets视图中双击加载上的Snippets来运行。就建出的项目的Snippets也能马上保存到Snippets视图中。<br>　　一.给某行代码加上"//"的注释符号，这样类似于eclipse中的Ctrl+?键的功能，但简单实现当以经是"//"注释的时候依然加上"//"，文件所处的位置对Snippets没影响。<br><br>/*<br>* Menu: Editor &gt; lines<br>* Kudos: Kevin Lindsey<br>* License: EPL 1.0<br>* DOM: <a href="http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang."><u><font color=#0000ff>http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript</font></u></a><br>* DOM: <a href="http://localhost/com.aptana.ide.scripting"><u><font color=#0000ff>http://localhost/com.aptana.ide.scripting</font></u></a><br>*/<br><br>//文件头必须这样定义好，在开头，还有其它可定义的属性，Menu就是加载到eclipse中的执行命令的位置<br>//DOM应该是类似于类库的一样东西，选择需要加入<br>/**<br>* main<br>*/<br>//main是执行的方法的入口</p>
<p>function main()<br>{<br>var editor = editors.activeEditor;<br>var range = editor.selectionRange;<br>var startLine = editor.getLineAtOffset(range.startingOffset);<br>editor.beginCompoundChange();<br>var offset = editor.getOffsetAtLine(startLine)<br>editor.applyEdit(offset,0,"//");<br>editor.endCompoundChange();<br><br>}<br><br>　　二.这是一个很有用的功能，打开所编辑文件的所在文件夹，并对该文件选定。不知道为什么 editors.activeEditor.textEditor.getFileContext()只对aptana方式打开的文件有效。<br><br>/*<br>* Menu: File &gt; OpenDir<br>* Kudos: Kevin Lindsey<br>* License: EPL 1.0<br>* DOM: <a href="http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang."><u><font color=#0000ff>http://download.eclipse.org/technology/dash/update/org.eclipse.eclipsemonkey.lang.javascript</font></u></a><br>* DOM: <a href="http://localhost/com.aptana.ide.scripting"><u><font color=#0000ff>http://localhost/com.aptana.ide.scripting</font></u></a><br>*/<br>/**<br>* main<br>*/</p>
<p>function main()<br>{<br>try {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //获取文件路径<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var filename = editors.activeEditor.textEditor.getFileContext().getSourceProvider().getSourceURI();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filename = filename.replace("%20"," ");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //调用系统命令<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL Explorer.exe /select," + filename); <br>} catch(e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Packages.org.eclipse.jface.dialogs.MessageDialog.openInformation(&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.getShell(),&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Monkey Dialog", <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>}<br>}</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/123637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-12 16:24 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/12/123637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(一)-成熟的烙印aptana</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/12/123506.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Tue, 12 Jun 2007 00:14:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/12/123506.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123506.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/12/123506.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123506.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123506.html</trackback:ping><description><![CDATA[<p>　　语言的流行，必然离不开便捷的开发工具。<br>　　aptana是一个基于eclipse的强大开源js开发工具。<br>　　由官方的陈述，它的特点包括：<br>　　1.JavaScript,JavaScript 函数,Html,CSS语言的code　Assist功能。<br>　　2.Outliner(大纲):显示JavaScript,Html和CSS的代码结构。<br>　　3.代码语法错误提示。<br>　　4.支持跨平台。<br>　　5.支持流行Ajax框架的Code Assist功能:Aflax,Dojo,Jquery,MochiKit,Prototype,Rico,script.aculo.us等。<br>　　另外我自己的体验是aptana提供了一个Snippets的概念用于生成格式代码，在aptana中还提供着多种支持ajax框架的帮助文档视图</p>
<p>[Code Assist截图]<br><img class=blogimg src="http://hiphotos.baidu.com/jingleq/pic/item/83440da9d0e3fafa1e17a2a9.jpg" border=0 _fcksavedurl="http://hiphotos.baidu.com/jingleq/pic/item/83440da9d0e3fafa1e17a2a9.jpg" small="0"></p>
<p>[代码语法错误提示截图]<br><img class=blogimg src="http://hiphotos.baidu.com/jingleq/pic/item/77a8cc269c392b118a82a1a9.jpg" border=0 _fcksavedurl="http://hiphotos.baidu.com/jingleq/pic/item/77a8cc269c392b118a82a1a9.jpg" small="0"></p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/123506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-12 08:14 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/12/123506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>征服javascript(前言)-为什么js</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/12/123505.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Tue, 12 Jun 2007 00:13:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/12/123505.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/123505.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/12/123505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/123505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/123505.html</trackback:ping><description><![CDATA[　　Web应用的流行，带来了js的繁荣，在Web2.0推出以后，ajax的框架一下子丰富了起来，从而提高了web富客户端的重要性。web表现，开始复杂了起来。<br>　　企业应用也开始使用起复杂的js来进行与用户和服务器两方面的交互,js并不只是一种展示还是一种通迅方式，读懂javascript很必要!<br>　　ajax并不神秘(之前以经有一篇文章说明了其最core的部份)，javascript并不复杂，学好javascript，由今天做起!之后将是javascript的相关学习! 
<img src ="http://www.blogjava.net/csnowfox/aggbug/123505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-12 08:13 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/12/123505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>wsad环境中jax-rpc应用</title><link>http://www.blogjava.net/csnowfox/articles/122960.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Fri, 08 Jun 2007 17:07:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/articles/122960.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122960.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/articles/122960.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122960.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122960.html</trackback:ping><description><![CDATA[<p>　　善假于物者强！<br>　　J2EE(TM)1.4平台提供了一套web services的api，JAX-RPC API。<br>　　使用它就引入了几个xml的配置文件webservices.xml,*.wsdl,*_mapping.xml。这第一次让我意识到Web项目的入口不止有web.xml文件。如果应用jax-rpc方案，web services的入口就是webservices.xml。这点不同于使用xfire和axi这些web services的实现。<br>　　如果真要自己来写这一堆的文件，那些规则够你学的。前面提到善假于物者强!使用开发工具来完成这些文件的自动生成，给我们的web services提供了很大的便利。我使用的是wsad5.1,只要完成了想发布的web services类，通过右键菜单中的Web服务-&gt;生成wsdl文件便能完成其它的工作，跟着向导走完后便能起动服务器看到效果了。在该Web服务菜单中还包括了启动测试机和生成样本应用程序的功能，这样进行开发太顺手了。渐渐感觉wsad除了不能随你便改jdk外还是不错的。同样eclipse也应该提供了类似的web services生成的工具。</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/122960.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-09 01:07 <a href="http://www.blogjava.net/csnowfox/articles/122960.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>企业应用－忽悠人?</title><link>http://www.blogjava.net/csnowfox/articles/122749.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Thu, 07 Jun 2007 16:13:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/articles/122749.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122749.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/articles/122749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122749.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122749.html</trackback:ping><description><![CDATA[<p>　　没见过世面的我从来觉得企业应用都是忽悠人的东西,今天仲于有机会见到了大公司的应用``　只窥一斑，叹为观止!终于肯定了我先到大公司练手的想法不错!<br>　　在这个我参与的项目中，我看到了企业应用的如下特性与实施方法：<br>　　一，支持热部署性，通过划分项目分子模块来实现。这个体系真的让我大开眼界。<br>　　二，高度配置性，这依赖了大量的xml，公用部分高度抽象，貌似逻辑都用了xml配出来，也可能这是引入xml作为传输数据的好处。呵呵，感觉真的从xml的数量就可以看到一个应用的企业化程度，但是不知是否由xml带来了过多的自定义规则?<br>　　三，层次清晰性，层与层之间接口有良好的定义，可很好的分工。这个体验也是比较新的，web service，rpc，tcp/ip等等，这些子模块之间交互的手段很必要。也通过这样的交互解决不同平台不同语言的差异。小网站和大应用的区别就是分布适了。象ibm所鼓吹的企业应用技术在小网站上完全体现不到优势而成为累赘。ps:分层的另外一个好处就是可以让我们有更多事干，在定义接口的时候就忙来忙去花时间等下班。o yeah！<br>　　四，对象资源性，当对象达到一定规模就需要把对象用资源的角度去看。这意味着统一。<br>　　五，也是很重要的一个就是接口的使用，接口就是企业应用的生命。<br>　　很多东西可以学习，努力研究代码中``</p>
<img src ="http://www.blogjava.net/csnowfox/aggbug/122749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-08 00:13 <a href="http://www.blogjava.net/csnowfox/articles/122749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]flash小球运动制作</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/06/122385.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Wed, 06 Jun 2007 08:00:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/06/122385.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122385.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/06/122385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122385.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122385.html</trackback:ping><description><![CDATA[
		
		<p>&nbsp;&nbsp; 哎，现在都成了大徒弟的flash作业枪手了。flash，真的是一个又高深又简单的东西。对于flash的编程，很多大牛都望而止步。<br>
&nbsp;&nbsp; 以前偶尔也写写flash，到真的又要写的时候确实也无从下手，在网上搜了又搜才有头绪开始下手。<br>
&nbsp;&nbsp; 这次实现的功能如下：一个小球从自由落体到与地面接触又弹起来，在画布上有两个按钮控制小球的静止与运动。<br>
&nbsp;&nbsp; 前提运动理论：可能我记错了也不一定，在制作过程中使用到了以下规律，一，运动公式 s=vt+1/2*g*t^2，二，v=gt，三，小球运动过程中</p> <a href="http://hi.baidu.com/jingleq/blog/item/05ac85ef6d95aa37acafd5fb.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jingleq/blog/category/%B6%E0%C3%BD%CC%E5%D6%C6%D7%F7">多媒体制作</a>&nbsp;<a href="http://hi.baidu.com/jingleq/blog/item/05ac85ef6d95aa37acafd5fb.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/jingleq/blog/item/05ac85ef6d95aa37acafd5fb.html'>http://hi.baidu.com/jingleq/blog/item/05ac85ef6d95aa37acafd5fb.html</a><img src ="http://www.blogjava.net/csnowfox/aggbug/122385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-06 16:00 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/06/122385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]java正则表达式效率</title><link>http://www.blogjava.net/csnowfox/archive/2007/06/04/122044.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Mon, 04 Jun 2007 04:42:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/06/04/122044.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122044.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/06/04/122044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122044.html</trackback:ping><description><![CDATA[
		
		<div class="sysBr500 text" align="left">
<div>　　对于正则表达式的使用效率问题，我在网上看到的有两种截然不同的结果，到底它的效率如何，今天我用java来做了个则试。</div>
<div>
<div>　　解决的问题很简单，从一个字符串中把用正则表达式如<font face="宋体">href="[^\"]*"的字符串保存到一个list中去。先构造一个长字符串，再进行匹配操作。</font></div>
<div>测试代码如下：</div>
<div>
<p><font face="宋体">import java.util.LinkedList;<br>
import java.util.List;<br>
import java.util.</font></p></div></div></div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jingleq/blog/category/%BC%BC%CA%F5%B5%B5%B0%B8">技术档案</a>&nbsp;<a href="http://hi.baidu.com/jingleq/blog/item/7bc39b62b61839dce7113a54.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/jingleq/blog/item/7bc39b62b61839dce7113a54.html'>http://hi.baidu.com/jingleq/blog/item/7bc39b62b61839dce7113a54.html</a><img src ="http://www.blogjava.net/csnowfox/aggbug/122044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-06-04 12:42 <a href="http://www.blogjava.net/csnowfox/archive/2007/06/04/122044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]asm学习(4)--Tree API</title><link>http://www.blogjava.net/csnowfox/archive/2007/05/31/122045.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Thu, 31 May 2007 06:09:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/05/31/122045.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122045.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/05/31/122045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122045.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122045.html</trackback:ping><description><![CDATA[
		
		<div class="sysBr500 text" align="left">
<p><font face="宋体">&nbsp;&nbsp;&nbsp;&nbsp; asm文档阅读已快到尾声，最后一章已到Tree API的使用，Tree API就是针对Class,Method,Field等其它同级的属性进行了一个类包装，可以让我们用面向对像的形式来操作字节码，但也不要负于太高的期望，要操作字节码还真得弄懂了才能下手，Tree API带给我们的只是代码量的减少。Tree API是通过实现ClassVisitor接口而实现的，从另外一个角度来说就是给我们又封装了一层ClassVisitor,让我们开发便利点。<br>
<br>
&nbsp;&nbsp;</font></p></div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jingleq/blog/category/%BC%BC%CA%F5%B5%B5%B0%B8">技术档案</a>&nbsp;<a href="http://hi.baidu.com/jingleq/blog/item/b134abddd23c4cee76c63854.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/jingleq/blog/item/b134abddd23c4cee76c63854.html'>http://hi.baidu.com/jingleq/blog/item/b134abddd23c4cee76c63854.html</a><img src ="http://www.blogjava.net/csnowfox/aggbug/122045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-05-31 14:09 <a href="http://www.blogjava.net/csnowfox/archive/2007/05/31/122045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]asm学习(3)--visitor模式</title><link>http://www.blogjava.net/csnowfox/archive/2007/05/31/122046.html</link><dc:creator>csnowfox</dc:creator><author>csnowfox</author><pubDate>Thu, 31 May 2007 00:44:00 GMT</pubDate><guid>http://www.blogjava.net/csnowfox/archive/2007/05/31/122046.html</guid><wfw:comment>http://www.blogjava.net/csnowfox/comments/122046.html</wfw:comment><comments>http://www.blogjava.net/csnowfox/archive/2007/05/31/122046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/csnowfox/comments/commentRss/122046.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/csnowfox/services/trackbacks/122046.html</trackback:ping><description><![CDATA[
		
		<div class="sysBr500 text" align="left">
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Visitor访问者模式作用于某个对象的操作，它可以使你在不改变这些对象本身的情况下，定义作用于这些对象的新操作。</div>
<div>　　在asm中，ClassReader对象可以接受一个实现ClassVisitor接口的对象来进行对读入的Class的访问与控制。</div>
<div>　　其中，如asm文档展示了一个很简单的<font face="宋体">ClassPrinter类，用来打印类相关信息。</font></div>
<div><font face="宋体">ClassPrinter cp = new Clas</font></div></div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/jingleq/blog/category/%BC%BC%CA%F5%B5%B5%B0%B8">技术档案</a>&nbsp;<a href="http://hi.baidu.com/jingleq/blog/item/d1dca911a6c2aac7a7ef3f54.html#comment">查看评论</a><br>文章来源:<a href='http://hi.baidu.com/jingleq/blog/item/d1dca911a6c2aac7a7ef3f54.html'>http://hi.baidu.com/jingleq/blog/item/d1dca911a6c2aac7a7ef3f54.html</a><img src ="http://www.blogjava.net/csnowfox/aggbug/122046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/csnowfox/" target="_blank">csnowfox</a> 2007-05-31 08:44 <a href="http://www.blogjava.net/csnowfox/archive/2007/05/31/122046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>