国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

freemarker的優(yōu)缺點及簡單實例

2019-11-11 06:15:46
字體:
供稿:網(wǎng)友

一、 什么是FreeMarker FreeMarker是一個用java語言編寫的模板引擎,它基于模板來生成文本輸出。 所謂模板,就是一份已經(jīng)寫好了基本內(nèi)容,有著固定格式的文檔,其中空出或者用占位符標(biāo)識的內(nèi)容,由使用者來填充,不同的使用者給出的數(shù)據(jù)是不同的。在模板中的占位符,在模板運行時,由模板引擎來解析模板,并采用動態(tài)數(shù)據(jù)替換占位符部分的內(nèi)容。 FreeMarker與Web容器無關(guān),即在Web運行時,它并不知道Servlet或HTTP。它不僅可以用作表現(xiàn)層的實現(xiàn)技術(shù),而且還可以用于生成xmljsp或Java 文等。 二、 FreeMarker的優(yōu)點和缺點 (一) FreeMarker的優(yōu)點 1.使用FreeMarker的優(yōu)點之一,可以徹底的分離表現(xiàn)層和業(yè)務(wù)邏輯。 使用JSP 開發(fā)過程中在頁面中大量的存在業(yè)務(wù)邏輯的代碼,使得頁面內(nèi)容凌亂,在后期大量的修改維護過程中就變得非常困難。 FreeMarker根本不支持Java腳本代碼。 FreeMarker的原理就是:模板+數(shù)據(jù)模型=輸出,模板只負(fù)責(zé)數(shù)據(jù)在頁面中的表現(xiàn),不涉及任何的邏輯代碼,而所有的邏輯都是由數(shù)據(jù)模型來處理的。用戶最終看到的輸出是模板和數(shù)據(jù)模型合并后創(chuàng)建的。 2.使用FreeMarker的優(yōu)點之二,可以提高開發(fā)效率。 在我們以往的開發(fā)中,使用的都是JSP 頁面來展示數(shù)據(jù)的,即所謂的表現(xiàn)層。我們都知道,JSP在第一次執(zhí)行的時候需要轉(zhuǎn)換成Servlet類,開發(fā)階段進行功能調(diào)適時,需要頻繁的修改JSP,每次修改都要編譯和轉(zhuǎn)換,那么試想一天中我們浪費在程序編譯的時間有多少。相對于JSP來說,F(xiàn)reeMarker模板技術(shù)不存在編譯和轉(zhuǎn)換的問題,所以就不會存在上述問題。而且開發(fā)過程中,我們在不必在等待界面設(shè)計開發(fā)人員完成頁面原形后,我們再來開發(fā)程序。 3.使用FreeMarker的優(yōu)點之三,使得開發(fā)過程中的人員分工更加明確。 以往用JSP展現(xiàn)數(shù)據(jù)時,作為程序員的我們,并不熟悉界面設(shè)計技術(shù),反之界面開發(fā)人員,也并不熟悉程序語言。對兩者而言,交替性的工作本身就有難度。有時候稍有不慎,可能會將某個頁面元素刪除或去掉了某個程序符號,使得頁面走樣或程序錯誤,這樣就需要雙方相互溝通協(xié)作,解決出現(xiàn)的問題。有時候因為項目中的時間,任務(wù)量等因素的存在,可能這個工作就由一個人來完成,這樣就可能加大某一方開發(fā)人員的工作量。 使用FreeMarker后,作為界面開發(fā)人員,只專心創(chuàng)建HTML文件、圖像以及Web頁面的其他可視化方面,不用理會數(shù)據(jù);而程序開發(fā)人員則專注于系統(tǒng)實現(xiàn),負(fù)責(zé)為頁面準(zhǔn)備要顯示的數(shù)據(jù)。 (二)FreeMarker的缺點 1.使用FreeMarker的缺點之一,應(yīng)用FreeMarker模板技術(shù),在修改模板后,可能會看到已經(jīng)過期的數(shù)據(jù)。如:生成靜態(tài)的HTML頁面后,如果一旦模板改變,而沒有及時更新模板生成的HTML頁面的話,用戶看到的就是過期的數(shù)據(jù)。 2.使用FreeMarker的缺點之二,F(xiàn)reeMarker模板技術(shù)在應(yīng)用過程中,F(xiàn)reeMarker中的變量必須要賦值,如果不賦值,那么就會拋出異常。想避免錯誤就要應(yīng)用if/elseif/else 指令進行判段,如果對每一個變量都判斷的話,那么則反而增加了編程的麻煩。 3.使用FreeMarker的缺點之三,F(xiàn)reeMarker的map限定key必須是string,其他數(shù)據(jù)類型無法操作 4.使用FreeMarker的缺點之四,F(xiàn)reeMarker不支持集群應(yīng)用。為了編成的方便性,把序列化的東西都放到了session中,如Session,request等,在開發(fā)的過程中確實方便,但如果將應(yīng)用放到集群中,就會出現(xiàn)錯誤。 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 壤塘县| 阳山县| 偃师市| 石景山区| 西昌市| 福清市| 双桥区| 九江县| 康平县| 新竹县| 彭阳县| 青川县| 盘山县| 佛山市| 屯留县| 铅山县| 九龙城区| 旬邑县| 定结县| 江都市| 崇左市| 南皮县| 长治县| 望奎县| 七台河市| 贵德县| 新民市| 岐山县| 绍兴县| 迭部县| 禹州市| 孙吴县| 海兴县| 阿尔山市| 磐石市| 乐平市| 彭泽县| 兴和县| 辽阳市| 广丰县| 曲麻莱县|