posts - 2,  comments - 0,  trackbacks - 0

          FreeMarker是一個(gè)模板引擎,一個(gè)基于模板生成文本輸出的通用工具,使用純Java編寫

          FreeMarker被設(shè)計(jì)用來生成HTML Web頁面,特別是基于MVC模式的應(yīng)用程序

          雖然FreeMarker具有一些編程的能力,但通常由Java程序準(zhǔn)備要顯示的數(shù)據(jù),由FreeMarker生成頁面,通過模板顯示準(zhǔn)備的數(shù)據(jù)(如下圖)



          FreeMarker不是一個(gè)Web應(yīng)用框架,而適合作為Web應(yīng)用框架一個(gè)組件

          FreeMarker與容器無關(guān),因?yàn)樗⒉恢繦TTP或Servlet;FreeMarker同樣可以應(yīng)用于非Web應(yīng)用程序環(huán)境

          FreeMarker更適合作為Model2框架(如Struts)的視圖組件,你也可以在模板中使用JSP標(biāo)記庫

          FreeMarker是免費(fèi)的

          而且你還可以通過Eclipse的插件來編輯FreeMarker,經(jīng)過驗(yàn)證,F(xiàn)reeMarker 最好的 Eclipse 編輯插件是 JBoss Tools

          FreeMarker特性

          1、通用目標(biāo)

          能夠生成各種文本:HTMLXMLRTFJava源代碼等等

          易于嵌入到你的產(chǎn)品中:輕量級(jí);不需要Servlet環(huán)境

          插件式模板載入器:可以從任何源載入模板,如本地文件、數(shù)據(jù)庫等等

          你可以按你所需生成文本:保存到本地文件;作為Email發(fā)送;從Web應(yīng)用程序發(fā)送它返回給Web瀏覽器

          2、強(qiáng)大的模板語言

          所有常用的指令:includeif/elseif/else、循環(huán)結(jié)構(gòu)

          在模板中創(chuàng)建和改變變量

          幾乎在任何地方都可以使用復(fù)雜表達(dá)式來指定值

          命名的宏,可以具有位置參數(shù)和嵌套內(nèi)容

          名字空間有助于建立和維護(hù)可重用的宏庫,或者將一個(gè)大工程分成模塊,而不必?fù)?dān)心名字沖突

          輸出轉(zhuǎn)換塊:在嵌套模板片段生成輸出時(shí),轉(zhuǎn)換HTML轉(zhuǎn)義、壓縮、語法高亮等等;你可以定義自己的轉(zhuǎn)換

          3、通用數(shù)據(jù)模型

          FreeMarker不是直接反射到Java對(duì)象,Java對(duì)象通過插件式對(duì)象封裝,以變量方式在模板中顯示

          你可以使用抽象(接口)方式表示對(duì)象(JavaBeanXML文檔、SQL查詢結(jié)果集等等),告訴模板開發(fā)者使用方法,使其不受技術(shù)細(xì)節(jié)的打擾

          4、為Web準(zhǔn)備

          在模板語言中內(nèi)建處理典型Web相關(guān)任務(wù)(如HTML轉(zhuǎn)義)的結(jié)構(gòu)

          能夠集成到Model2 Web應(yīng)用框架中作為JSP的替代

          支持JSP標(biāo)記庫

          MVC模式設(shè)計(jì):分離可視化設(shè)計(jì)和應(yīng)用程序邏輯;分離頁面設(shè)計(jì)員和程序員

          5、智能的國際化和本地化

          字符集智能化(內(nèi)部使用UNICODE

          數(shù)字格式本地化敏感

          日期和時(shí)間格式本地化敏感

          US字符集可以用作標(biāo)識(shí)(如變量名)

          多種不同語言的相同模板

          6、強(qiáng)大的XML處理能力

          <#recurse> <#visit>指令(2.3版本)用于遞歸遍歷XML

          在模板中清楚和直覺的訪問XML對(duì)象模型

          posted on 2012-02-22 10:35 wilsonyq 閱讀(422) 評(píng)論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 五家渠市| 乌审旗| 开江县| 和顺县| 长子县| 本溪市| 台南县| 大邑县| 饶阳县| 盐津县| 东乡| 香河县| 金湖县| 章丘市| 贵阳市| 和田县| 深水埗区| 阿荣旗| 民勤县| 安宁市| 汉寿县| 中方县| 沂水县| 宁武县| 新竹市| 万宁市| 英山县| 交口县| 陇西县| 衡阳市| 万全县| 于田县| 炎陵县| 温泉县| 亳州市| 阳西县| 布尔津县| 南京市| 蕉岭县| 吉隆县| 柳林县|