細數FreeMarker的優缺點

1、 FreeMarker簡介
FreeMarker是一個用Java語言編寫的模板引擎,它基於模板來生成文本輸出。
所謂模板,就是一份已經寫好了基本內容,有着固定格式的文檔,其中空出或者用佔位符標識的內容,由使用者來填充,不一樣的使用者給出的數據是不一樣的。在模板中的佔位符,在模板運行時,由模板引擎來解析模板,並採用動態數據替換佔位符部分的內容。
FreeMarker與Web容器無關,即在Web運行時,它並不知道Servlet或HTTP。它不只能夠用做表現層的實現技術,並且還能夠用於生成XML,JSP或Java 文等。
程序員


2、 FreeMarker的優勢和缺點
(一) FreeMarker的優勢
1.使用FreeMarker的優勢之一,能夠完全的分離表現層和業務邏輯。
使用JSP 開發過程當中在頁面中大量的存在業務邏輯的代碼,使得頁面內容凌亂,在後期大量的修改維護過程當中就變得很是困難。
FreeMarker根本不支持Java腳本代碼。
FreeMarker的原理就是:模板+數據模型=輸出 ,模板只負責數據在頁面中的表現,不涉及任何的邏輯代碼,而全部的邏輯都是由數據模型來處理的。用戶最終看到的輸出是模板和數據模型合併後建立的。
      
2.使用FreeMarker的優勢之二,能夠提升開發效率。
在咱們以往的開發中,使用的都是JSP 頁面來展現數據的,即所謂的表現層。咱們都知道,JSP在第一次執行的時候須要轉換成Servlet類,開發階段進行功能調適時,須要頻繁的修改JSP,每次修改都要編譯和轉換,那麼試想一天中咱們浪費在程序編譯的時間有多少。相對於JSP來講,FreeMarker模板技術不存在編譯和轉換的問題,因此就不會存在上述問題。並且開發過程當中,咱們在沒必要在等待界面設計開發人員完成頁面原形後,咱們再來開發程序。

3.使用FreeMarker的優勢之三,使得開發過程當中的人員分工更加明確。
以往用
JSP展示數據時,做爲程序員的咱們,並不熟悉界面設計技術,反之界面開發人員,也並不熟悉程序語言。對二者而言,交替性的工做自己就有難度。有時候稍有不慎,可能會將某個頁面元素刪除或去掉了某個程序符號,使得頁面走樣或程序錯誤,這樣就須要雙方相互溝通協做,解決出現的問題。有時候由於項目中的時間,任務量等因素的存在,可能這個工做就由一我的來完成,這樣就可能加大某一方開發人員的工做量。
使用FreeMarker後,做爲界面開發人員,只專心建立HTML文件、圖像以及Web頁面的其餘可視化方面,不用理會數據;而程序開發人員則專一於系統實現,負責爲頁面準備要顯示的數據。
編程


(二)FreeMarker的缺點
1.使用FreeMarker的缺點之一,應用FreeMarker模板技術,在修改模板後,可能會看到已通過期的數據。如:生成靜態的HTML頁面後,若是一旦模板改變,而沒有及時更新模板生成的HTML頁面的話,用戶看到的就是過時的數據。
2.使用FreeMarker的缺點之二,FreeMarker模板技術在應用過程當中,FreeMarker中的變量必需要賦值,若是不賦值,那麼就會拋出異常。想避免錯誤就要應用if/elseif/else 指令進行判段,若是對每個變量都判斷的話,那麼則反而增長了編程的麻煩。
3.使用FreeMarker的缺點之三,FreeMarker的map限定key必須是string,其餘數據類型沒法操做
4.使用FreeMarker的缺點之四,FreeMarker不支持集羣應用。爲了編成的方便性,把序列化的東西都放到了Session中,如
Session,request等,在開發的過程當中確實方便,但若是將應用放到集羣中,就會出現錯誤。

本文轉載自oecp社區http://www.oecp.cn/hi/hailang/blog/146
spa

相關文章
相關標籤/搜索