FreeMarker的优点和缺点
FreeMarker的優點和缺點 標簽: FreeMarker優點 FreeMarker缺點 模板引擎 struts2 一、 FreeMarker簡介 FreeMarker是一個用Java語言編寫的模板引擎,它基于模板來生成文本輸出。 所謂模板,就是一份已經寫好了基本內容,有著固定格式的文檔,其中空出或者用占位符標識的內容,由使用者來填充,不同的使用者給出的數據是不同的。在模板中的占位符,在模板運行時,由模板引擎來解析模板,并采用動態數據替換占位符部分的內容。 FreeMarker與Web容器無關,即在Web運行時,它并不知道Servlet或HTTP。它不僅可以用作表現層的實現技術,而且還可以用于生成XML,JSP或Java 文等。 二、 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等,在開發的過程中確實方便,但如果將應用放到集群中,就會出現錯誤。 通過以上的闡述,希望可以令您清晰FreeMarker的優點和缺點,旨在拋磚引玉。有什么問題可以留下您的寶貴留言,我非常愿意與大家討論。
總結
以上是生活随笔為你收集整理的FreeMarker的优点和缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发工具(二)
- 下一篇: 2013年度开源社区年会,3W咖啡免费让