簡介:優秀的模版引擎。基于文本的模版輸出工具。Java語言開發。給力的視圖組件。
Freemaker是一個強大的模板引擎,相比velocity而言,其強大的過程調用、遞歸和閉包回調功能讓freemaker可以完成幾乎所有我們所想的功能。從個人看法而言,freemaker完全有能力作為MDA的代碼輔助生成工具。本文試圖越過傳統的概念性介紹,通過一組例子直接把讀者帶入到Freemaker應用的較高層階。
sitemesh應用Decorator模式,用filter截取request和response,把頁面組件head,content,banner結合為一個完整的視圖。通常我們都是用include標簽在每個jsp頁面中來不斷的包含各種header,stylesheet,scriptsandfooter,現在,在sitemesh的幫助下,我們可以開心的刪掉他們了。
smarty是一個使用PHP寫出來的模板PHP模板引擎,它提供了邏輯與外在內容的分離,簡單的講,目的就是要使用PHP程序員同美工分離,使用的程序員改變程序的邏輯內容不會影響到美工的頁面設計,美工重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。<br> 二、smarty優點: 1. 速度:采用smarty編寫的程序可以獲得最大速度的提高,這一點是相對于其它的模板引擎技術而言的。<br> 2. 編譯型:采用smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件采用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下) <br> 3. 緩存技術:smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定smarty的cache屬性為true時,在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當于調用一個靜態的HTML文件。<br> 4. 插件技術:smarty可以自定義插件。插件實際就是一些自定義的函數。<br> 5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
Smarty是一個使用PHP寫出來的模版引擎,目的是要達到php代碼與html代碼(.html)的分離,使得php程序員只專注于php代碼的編寫,美工只專注于頁面的美化,這樣也就達到了程序員與美工的分離,使得程序員改變程序邏輯時(也就是修改php代碼時)不會影響美工的頁面設計,美工重新修改頁面也不會影響程序的邏輯內容,這在多人合作的項目中顯得尤為重要。
Velocity是一個基于java的模板引擎(templateengine:模板引擎的作用就是取得數據并加以處理,最后顯示出數據)。它允許任何人僅僅簡單的使用模板語言(templatelanguage)來引用由java代碼定義的對象。
不少人看過或了解過Velocity,名稱字面翻譯為:速度、速率、迅速,用在Web開發里,用過的人可能不多,大都基本知道和在使用 Struts,到底Velocity和Struts是如何聯系,怎么看待Velocity呢?讓我們來嘗試一下,了解Velocity的概念,通過在這里的介紹,強調在技術選擇上的問題,讓大家在選擇項目開發時,可以考慮Velocity,另外也讓大家了解它的思想,畢竟它提供了一個很好的思維方式,給大家換換筋骨,換一種思考的方式。
Velocity是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。 當Velocity應用于web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。
A概念最常用的概念1、?scalars:存儲單值字符串:簡單文本由單或雙引號括起來。數字:直接使用數值。日期:通常從數據模型獲得布爾值:true或false,通常在#if…標記中使用?2、?hashes:充當其它對象的容器,每個都關聯一個唯一的查詢名字具有一個唯一的查詢名字和他包含的每個變量相關聯。?
Django的模板語言的設計原則在動力和易用性之間取得均衡.(功能要足夠強大,還要容易使用), 如果你以前使用過 HTML,你會覺得很容易上手.如果有其它基于文本的模板語言的經驗, 比如 Smarty 或 CheetahTemplate, 你會覺得..使用django模板..就象在自己家里一樣.
sitemesh應用Decorator模式,用filter截取request和response,把頁面組件head,content,banner結合為一個完整的視圖。通常我們都是用include標簽在每個jsp頁面中來不斷的包含各種header,stylesheet,scripts和footer,現在,在sitemesh的幫助下,我們可以開心的刪掉他們了,達到復合視圖模式。FreeMarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,使用純Java編寫。
關于?Velocity用戶指南旨在幫助頁面設計者和內容提供者了解Velocity和其簡單而又強大的腳本語言(VelocityTemplateLanguage(VTL))。本指南中有很多示例展示了用Velocity來講動態內容嵌入到網站之中,但是所有的VTLexamples都同演示用于所有的頁面和模版。什么是Velocity?Velocity是一個基于Java的模版引擎。它允許web頁面設計者引用JAVA代碼預定義的方法。Web設計者可以根據MVC模式和JAVA程序員并行工作,這意味著Web設計者可以單獨專注于設計良好的站點,而程序員則可單獨專注于編寫底層代碼。Velocity將Java代碼從web頁面中分離出來,使站點在長時間運行后仍然具有很好的可維護性,并提供了一個除JSP和PHP之外的可行的被選方案。
Velocity是基于Java的模板引擎。它允許Web頁面開發者引用Java代碼中定義的方法。Web設計者可以和Java程序開發者并行開發遵循MVC模式的Web站點。這意味著,Web設計者可以將精力放在好的Web站點設計上,而Java程序開發者可以將精力放在編寫代碼上。Velocity將Java代碼從Web頁面中分離,使Web站點更具長期可維護性,并提供了一種替代JSP或PHP的方案。
關于?Velocity用戶指南旨在幫助頁面設計者和內容提供者了解Velocity和其簡單而又強大的腳本語言(Velocity Template Language(VTL))。本指南中有很多示例展示了用Velocity來講動態內容嵌入到網站之中,但是所有的VTL examples都同演示用于所有的頁面和模版。什么是Velocity?Velocity是一個基于Java的模版引擎。它允許web頁面設計者引用JAVA代碼預定義的方法。Web設計者可以根據MVC模式和JAVA程序員并行工作,這意味著Web設計者可以單獨專注于設計良好的站點,而程序員則可單獨專注于編寫底層代碼。Velocity將Java代碼從web頁面中分離出來,使站點在長時間運行后仍然具有很好的可維護性,并提供了一個除JSP和PHP之外的可行的被選方案。Velocity可用來從模板產生web頁面,SQL,PostScript以及其他輸出。他也可用于一個獨立的程序以產生源代碼和報告,或者作為其它系統的一個集成組件。
Velocity是一個基于java的模板引擎(template engine:模板引擎的作用就是取得數據并加以處理,最后顯示出數據 )。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。
Django的模板語言的設計原則在動力和易用性之間取得均衡.(功能要足夠強大,還要容易使用),如果你以前使用過HTML,你會覺得很容易上手.如果有其它基于文本的模板語言的經驗,比如Smarty或CheetahTemplate。