FreeMarker軟件介紹
FreeMarker.jar,簡單的說就是一種基于模板和要改變的數據,并用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的通用工具,它的出現主要是為了解決Struts2當中缺少freemarker.jar的問題。它不是為最終用戶設計的,而是一個Java類庫,一個程序員可以嵌入到他們開發的產品中的組件,也就是說這個就跟一個工具組件一樣,與其它軟件配合使用。它是用Java語言編寫的,主要用于MVC中的視圖層,生成HTML顯示數據給客戶端,可以完全替代JSP。軟件是獨立于Web容器,也就是說,它在Web運行時不知道servlet或HTTP,它不僅可以用作表示層的實現技術,還可以生成Java編程語言等。
FreeMarker軟件特色
模板并沒有包含程序邏輯 來查找當前的訪問者是誰,或者去查詢數據庫獲取最新的產品。顯示的數據是在FreeMarker之外準備的,通常是一些“真正的”編程語言(比如Java )所編寫的代碼。模板作者無需知道這些值是如何計算出的。事實上,這些值的計算方式可以完全被修改,而模板可以保持不變,而且頁面的樣式也可以完全被修改而無需改動模板。當模板作者(設計師)和程序員不是同一人時,顯示邏輯和業務邏輯相分離的做法是非常有用的,即便模板作者和程序員是一個人,這么來做也會幫助管理應用程序的復雜性。保證模板專注于顯示問題(視覺設計 ,布局和格式化 )是高效使用模板引擎的關鍵
FreeMarker工作原理
假設在一個應用系統中需要一個HTML頁面如下:
頁面中的用戶名(即上面的“Big Joe”)是登錄這個網頁的訪問者的名字, 并且最新產品的數據應該來自于數據庫才能隨時更新。所以,不能直接在HTML頁面中輸入“Big Joe”、“greenmouse”及鏈接, 不能使用靜態HTML代碼??梢允褂靡筝敵龅哪0鍋斫鉀Q,模板和靜態頁面是相同的,只是它會包含一些FreeMarker將它們變成動態內容的指令:
模板文件存放在Web服務器上,當有人來訪問這個頁面,FreeMarker就會介入執行,然后動態轉換模板,用最新的數據內容替換模板中${...}的部分,之后將結果發送到訪問者的Web瀏覽器中。訪問者的Web瀏覽器就會接收到例如第一個HTML示例那樣的內容(也就是沒有FreeMarker指令的HTML代碼),訪問者也不會察覺到服務器端使用的FreeMarker。(存儲在Web服務器端的模板文件是不會被修改的;替換也僅僅出現在Web服務器的響應中。)
為模板準備的數據整體被稱作為數據模型。數據模型是樹形結構(就像硬盤上的文件夾和文件),在視覺效果上, 數據模型可以是(這只是一個形象化顯示,數據模型不是文本格式,它來自于Java對象):
早期版本中,可以從數據模型中選取這些值,使用user和latestProduct.name表達式即可。類比于硬盤的樹形結構,數據模型就像一個文件系統,“(root)”和latestProduct就對應著目錄(文件夾),而user、url和name就是這些目錄中的文件。
總體上,模板和數據模型是FreeMarker來生成輸出所必須的組成部分:模板 + 數據模型 = 輸出。
FreeMarker更新日志
1.對部分功能進行了優化
2.解了好多不能忍的bug
華軍小編推薦:
FreeMarker一直以來是大多數小伙伴常用編程開發軟件,在網民心目中的可是有這霸主地位可見一般,華軍軟件園小編同學推薦廣大用戶下載FreeMarker使用,快來下載吧,另外還有Maven、OpenCart、Eclipse IDE for Java EE Developers For Linux(64-bit)、GCC For Linux、Free Pascal提供下載。
您的評論需要經過審核才能顯示
有用
有用
有用