隨筆-57  評(píng)論-129  文章-0  trackbacks-0
          我一直都想搞一個(gè)XML的模板引擎,大凡非xml的模板風(fēng)格,第一感覺就是那么的不爽。
          可是CommonTemplate例外。

          CommonTemplate處處為程序員考慮周到的漂亮的語法風(fēng)格,確實(shí)非常誘人。
          具體的語法我就不一一列舉了,大家可以到他的官方網(wǎng)站去翻閱。

          挑幾個(gè)亮點(diǎn)介紹一下:
          1. for循環(huán)的空處理,相信曾經(jīng)麻煩了不少程序員吧。

            現(xiàn)在好了,CT支持如下語法:
               $for{}
               <tr>
                  <td>1</td>
                  <td>2</td>
                  <td>3</td>
               </tr>
               $forelse
               <tr>
                  <td colspan="3">沒有數(shù)據(jù)</td>
               </tr>
               $end

          2. 大膽的關(guān)鍵字利用。


            <html>
                
            <body>
                    $if{users != null && users.size > 0}
                    
            <table border="1">
                        $for{user : users}
                        
            <tr>
                            
            <td>${for.index + 1}</td>
                            
            <td>${user.name}</td>
                            
            <td>${user.coins}</td>
                        
            </tr>
                        $end
                    
            </table>
                    $end
                
            </body>
            </html>


            大家看這段代碼。一般來說,for這種常用關(guān)鍵字是不好用作id的,但是這里作為默認(rèn)的循環(huán)狀態(tài)對(duì)象的id。既解決了塊對(duì)象存放的問題,又不會(huì)引起其他命名的沖突。一個(gè)字,妙!?。?!

          3. 其他漂亮的特征:


            注釋版語法外套,方便于測(cè)試數(shù)據(jù)填充及可視化編輯。
            單一的語法規(guī)則,方便解析與擴(kuò)展。

            等等。。。。


          好了,贊嘆之余還是給出一點(diǎn)點(diǎn)遺憾:

          boolean 運(yùn)算有點(diǎn)丑陋。
          我個(gè)人更期望 js的boolean運(yùn)算風(fēng)格,沒有必要一碰到boolean 運(yùn)算就返回true ? false
          我們完全可以返回一個(gè)更有意義的值,比如,我更期望這個(gè)語句能如我所愿的執(zhí)行。
           
          ${ variable|| "默認(rèn)值"}

          當(dāng)能,如上支持,CT是有的,它的寫法是
           
          ${ variable | "默認(rèn)值"}

          但是,我感覺,這個(gè)語法就有點(diǎn)復(fù)雜了,也不那么直觀。
          一般來說| 是按位取或,是位運(yùn)算符,這里這個(gè)用法,跳躍的確實(shí)有點(diǎn)大,較難接受的。
          posted on 2007-11-29 21:28 金大為 閱讀(1434) 評(píng)論(5)  編輯  收藏 所屬分類: Java

          評(píng)論:
          # re: 挺一個(gè)中國程序員開發(fā)的漂亮的模板引擎:CommonTemplate 2007-11-30 08:48 | dennis
          ${ variable | "默認(rèn)值"}

          你把他理解成正則不就完了,呵呵  回復(fù)  更多評(píng)論
            
          # re: 挺一個(gè)中國程序員開發(fā)的漂亮的模板引擎:CommonTemplate 2007-11-30 08:57 | 小獻(xiàn)
          不錯(cuò),挺適用的  回復(fù)  更多評(píng)論
            
          # re: 挺一個(gè)中國程序員開發(fā)的漂亮的模板引擎:CommonTemplate 2007-11-30 09:50 | 金大為
          @dennis
          也是,呵呵  回復(fù)  更多評(píng)論
            
          # re: 挺一個(gè)中國程序員開發(fā)的漂亮的模板引擎:CommonTemplate 2007-12-04 10:29 | 梁飛
          謝謝金兄的建議,已按照J(rèn)S的風(fēng)格改寫了||運(yùn)算符
          since: 0.7.5  回復(fù)  更多評(píng)論
            
          # re: 挺一個(gè)中國程序員開發(fā)的漂亮的模板引擎:CommonTemplate 2008-01-16 18:15 | 大衛(wèi)
          不知道有沒有太多的bug :)  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 聂拉木县| 红原县| 郧西县| 旺苍县| 海宁市| 慈溪市| 卫辉市| 射洪县| 永平县| 内乡县| 伊春市| 兴和县| 堆龙德庆县| 娄烦县| 广平县| 两当县| 安陆市| 天镇县| 巴彦淖尔市| 临夏县| 四子王旗| 巴马| 上饶县| 丹凤县| 金坛市| 五华县| 乌兰县| 庆城县| 棋牌| 镇赉县| 灯塔市| 临泉县| 鹰潭市| 松溪县| 赣榆县| 湖北省| 龙岩市| 搜索| 淮滨县| 滨海县| 惠水县|