1. 程式人生 > >java模板引擎簡介

java模板引擎簡介

        模板引擎為了使使用者頁面和業務資料相互分離而產生,它將從後臺返回的資料生成特定格式的文件,用於網站的模板引擎就是生成HTML文件.

       模板引擎以簡單為主,其主要目的是為了讓程式開發和美工設計人員分工明確;在程式碼生成過程中減少大量機械重複工作,大大提高開發效率,良好的設計使得程式碼重用,後期維護都降低成本。一個好的模板引擎的使用要考慮的方面無外乎:功能是否強大,使用是否簡單,整合性、擴充套件性與靈活性,效能。

以下是常用的java模板引擎:

        XMLTemplate(簡稱XT)

        Velocity(簡稱VT)

        CommonTemplate(簡稱CT)

        FreeMarker(簡稱FT)

        Smarty4j(簡稱ST)

FreeMarker是一款模板引擎: 即一種基於模板和要改變的資料, 並用來生成輸出文字(HTML網頁、電子郵件配置檔案原始碼等)的通用工具。 它不是面向終端使用者的,而是一個Java類庫,是一款程式設計師可以嵌入他們所開發產品的元件。FreeMarker是免費的,基於Apache許可證2.0版本釋出。其模板編寫為FreeMarker Template Language(FTL),屬於簡單、專用的語言。需要準備資料在真實程式語言中來顯示,比如資料庫查詢和業務運算, 之後模板顯示已經準備好的資料。在模板中,主要用於如何展現資料, 而在模板之外注意於要展示什麼資料 [1]
 。
Velocity作為歷史悠久的模板引擎不單單可以替代JSP作為Java Web的服務端網頁模板引擎,而且可以作為普通文字的模板引擎來增強服務端程式文字處理能力。而且Velocity被移植到不同的平臺上,如.Net的NVelocity和js的Velocity.js,雖然各平臺在使用和實現上略有差別,但大部分語法和引擎核心的實現是一致的,因此學習成本降低不少哦。
  最好的學習資源——官網:http://velocity.apache.org/

後話:實際上JSP使用EL,JSTL,OGNL完全能夠替代這些模板引擎,為什麼要用他們呢?

肯定是因其jsp的複雜,不相信的話,請自行網上查詢資料學習!!!這裡就不多說了,哈哈

相關推薦

java模板引擎簡介

        模板引擎為了使使用者頁面和業務資料相互分離而產生,它將從後臺返回的資料生成特定格式的文件,用於網站的模板引擎就是生成HTML文件.       模板引擎以簡單為主,其主要目的是為了讓程式

Jinja2模板引擎簡介

結構 文本格式 jin 視圖 響應 開發 python實現 template temp 視圖函數的作用是 : 處理業務邏輯和返回響應內容. 在開發中,把業務邏輯和表現內容放在一起,會增加代碼的復雜度和維護成本,這個時候使用模板,讓它來承擔返回響應的內容,能夠使代碼結構清晰,

Beetl:新一代Java模板引擎典範

類型 共享變量 支持 規則引擎 全局變量 for 控制語句 工具包 註解 Beetl是Bee Template Language的縮寫,它絕不是簡單的另外一種模板引擎,而是新一代的模板引擎,它功能強大,性能良好,秒殺當前流行的模板引擎。而且還易學易用。 什麽是Beetl B

springboot:Java模板引擎Thymeleaf介紹

mvc 選擇 ssi dash 其他 art pattern 開發環境 表示 Thymeleaf是一款用於渲染XML/XHTML/HTML5內容的模板引擎。類似JSP,Velocity,FreeMaker等,它也可以輕易的與Spring MVC等Web框架進行集成作為W

Java模板引擎FreeMarker系列之十freemarker與jquery標誌符衝突怎麼處理

freemarker與jquery標誌符衝突怎麼辦?我們用freemarker做展示層,freemarker語法預設採用<# ></>尖括號形式,為了與html程式碼清晰分離,freemarker還提供[ ]方括號形式,只需配置一下,我們就是採用[]的

Java 模板引擎總結

Java模板引擎 FreeMarker 概念 介紹 特性 優勢 不足 一個小Demo 概念 FreeMarker是一個模板引擎,一個基於模板生成文字輸出的通用工具,使用純Java編寫。它是為Java程式設計師提供的一個開發包。它不是面向終端使用者的,而是為程式設計師提供的

Java之利用Freemarker模板引擎實現程式碼生成器,提高效率

https://blog.csdn.net/huangwenyi1010/article/details/71249258  java模板引擎freemarker程式碼生成器 更多 個人分類: 一步一

JAVA velocity模板引擎使用例項

velocity使用1.7版本。 在win7下使用intelliJ IDEA建立一基於tomcat的web app專案,命名為todo_web,設定path為/todo,匯入velocity相關jar包。只匯入velocity-1.7.jar這個包可能會報錯,根據提示再匯

java】intellij idea SpringMVC 配置FreeMarker模板引擎

要點 理解SpringMVC的配置 如下程式碼來自web.xml <!-- Spring MVC 核心配置開始 --> <servlet> <servlet-name>mvc-dispatcher&

springBoot預設模板引擎Thymeleaf簡介

由於springBoot預設的是jar包形式,所以不支援,jsp。因此我們需要模板引擎。 JSP、Velocity、Freemarker、Thymeleaf模板引擎的大致原理:頁面+資料交給模板引擎(寫一個頁面模板,裡面一些值是動態的,我們用表示式形式,表達。例如下圖中的t

Lucene:基於Java的全文檢索引擎簡介

     轉載自:http://www.chedong.com/tech/lucene.html      Lucene是一個基於Java的全文索引工具包。 另外,如果是在選擇全文引擎,現在也許是試試Sphinx的時候了:相比Lucene速度更快,有中文分詞的支援,而且

artTemplate模板引擎

document bwt ucc 編譯 ssid card 默認 tsl ng-  1.artTemplate模板引擎的基本語法結構   2.artTemplate模板引擎的基本使用方法     2.1:使用一個type="text/html"的script標簽存放模板

Bubble三維圖形引擎簡介

模塊 images c++編寫 sdl2 支持 ima 包括 .com glsl Bubble是一款基於OpenGL的3D圖形引擎,主要使用C++編寫,采用CMake構建工具構建,基於OpenGL可編程管線,支持GLSL著色器語言。這是一個用於學習和實踐的項目,目前尚在開發

MySql中啟用InnoDB數據引擎簡介 以及 InnoDB與 MYISAM的區別和聯系

隔離級別 最終 全文索引 都是 後臺 isa llb ldb 優勢 1、存儲引擎是什麽?   MySQL中的數據用各種不同的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不同的存儲機制、索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,

Jade模板引擎入門教程

undefine 文件 ech content arrays str www versions contain Jade是一款高性能簡潔易懂的模板引擎,Jade是Haml的Javascript實現,在服務端(NodeJS)及客戶端均有支持。 功能 客戶端支持 超強的可讀性

《開源框架那點事兒25》:對框架模板引擎實現方式的改造實錄

port 內嵌 代碼調試 iter put 文件路徑 children nts fault 點滴悟透設計思想,Tiny模板引擎優化實錄! 增加框架設計興趣小組:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的實

前端學PHP之自定義模板引擎

php什麽是網站模板?準確地說,是指網站頁面模板,即每個頁面僅是一個板式,包括結構、樣式和頁面布局,是創建網頁內容的樣板,也可以理解為已有的網頁框架。可以將模板中原有的內容替換成從服務器端數據庫中動態內容,目的是可以保持頁面風格一致  PHP是一種HTML內嵌式的在服務器端執行的腳本語言,所以大部分PHP開發

Asp.net動態頁面靜態化之初始NVelocity模板引擎

實現 tracking ssr system uil 文件系統 處理程序 .ashx hosting Asp.net動態頁面靜態化之初始NVelocity模板引擎 靜態頁面是網頁的代碼都在頁面中,不須要運行asp,php,jsp,.net等程序生成client網頁代碼的

springBoot(6):web開發-模板引擎jsp

spring boot 一、新建工程 註意新建的工程下沒有webapp目錄eclipse下會自動創建webapp目錄這裏我們需要自動創建一個webapp目錄並創建WEB-INF。 對ServletInitializer.java進行說明 1、這個類相當於我們以前的web.xml 2、只有3.0以上才

asp .net 模板引擎 使用 Razor 生成html靜態頁面

property efault index returns true getprop pattern exc lec 剛開始不是理解 寫完之後 覺得還蠻簡單的 分為這幾個步驟 1.獲取頁面模板Html 2.獲取數據 3.解析模板和數據,生成靜態頁Html代碼 4.生成靜態