天天看點

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

曾幾何時,Web開發是個多麼高大上的名字,程式猿們都以能搞定Web技術為榮,此時還沒有前後端之說。

然而時過境遷,今非昔比,随着網際網路的發展,社會分工進一步細化,職業崗位也更加細分。慢慢開始就有了前端攻城獅和後端攻城獅。

技術也進一步細分,出現了以HTML、JS等為主的頁面技術,以Java、Pyton為主的後端開發語言技術。

事實上,直到前後端分離開發模式已經逐漸成為主流的今天,前後端技術的劃分也沒能完全清晰。我們可能會經常聽到一個叫全棧工程師的名字,這是一類野心極其大,想前後端通吃程式猿。這是要逼着其他程式猿回家種地的節奏哇。大家都是程式猿,本自同根生,相煎何太急

其實全棧工程師它本身就是真實的存在,聽起來這好像是個病句,那我好好跟大家解釋一下, 全棧工程師其實就是前端和後端技術都會的一類人,而這類人基本都是後端工程師。

為什麼這麼說呢,以Java工程師為例,哪個Java工程師不會HTML、JS呢,否則會被人鄙視的。甚至經驗豐富的老司機比真正前端工程師還要精通。

Web開發本身就是後端工程師的一部分工作。比如,在Java Web開發領域程式猿通常是既寫前端代碼,也寫後端代碼。而且Web開發有着很多很優秀的頁面技術HTML、JSP等。這些優秀的頁面技術,使Java在Web開發領域有着舉足輕重的地位。

咱們今天要學習的也是一個在Java開發領域非常流行的頁面技術模闆引擎技術-Freemarker。用過Spring Boot的同學可能都知道,Spring Boot在自己體系裡面預設支援的頁面技術不是JSP,而是Thymleaf、Freemarker的模闆引擎技術。

是以,今天咱們就來一起先來學習一下其中的一個,使用Freemarker模闆引擎技術做Web開發。

那麼問題來了,咱們一直在說模闆引擎技術,那什麼是模闆引擎呢?接下來咱麼先來了解一下模闆引擎技術。

傳統的頁面開發過程中通常采用的HTML+ JS技術,而現在大部分網站都采用标簽化+ 子產品化的設計。

模闆引擎其實就是根據這種方式,使使用者界面與業務資料(内容)分離而産生的,它可以生成特定格式的文檔,用于網站的模闆引擎就會生成一個标準的HTML文檔在原有的HTML頁面中來填充資料。最終達到渲染頁面的目的。

說人話模闆引擎就是,把資料和頁面整合在一起的技術。

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

常用的模闆引擎技術:

Thymleaf

FreeMarker

Velocity

今天咱麼就來先學習Freemarker

首先咱們先來介紹下Freemarker的概念,FreeMarker是一個使用純Java編寫的基于模闆生成文本輸出的通用工具,通常它的檔案都是.ftl結尾。

FreeMarker最初被用來在MVC模式的Web開發架構中生成HTML頁面的,但是它的功能可不僅僅可以用到Web開發生成模闆檔案,它也可以用于非Web應用環境中,如:生成Java代碼。

既然Freemarker模闆技術是Spring Boot官方預設支援的,那麼它有哪些特點才如此的備受青睐呢?1.輕量級不像JSP那樣是Servlet要嵌入到應用程式中2.可以生成各種文本檔案如:html、xml、java等3.學習成本低因為用java編寫的,是以文法和java很像

接下來我們來看看Spring Boot整合Freemarker的實戰操作

首先,添加pom依賴,我們使用SpirngBoot Initializr建立SpringBoot基礎工程(記得加上Web依賴,因為我是搞Web開發)。

按照我們的經驗,在Spring Boot中如果想要內建什麼技術隻需要添加相關技術的依賴就可以,是以呢,這裡我們就直接添加FreeMarker的依賴。

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

當然你也可以在建立項目的直接勾選需要的依賴也可以,項目在建立完成的時候自動加上這個依賴,如下圖:

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

建立好工程之後,在application.properties檔案中添加FreeMarker相關配置。

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

這裡需要注意的是freemarker的檔案名是以.ftl字尾的,我們在resourcestemplates檔案夾下建立freemarker.ftl檔案,需要注意的是freemarker在取值的時候使用的是插值表達式。

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

這裡需要注意,在寫controller的時候,我們使用注解是@Controller,因為我們要跳轉到html頁面,不在是傳回JSON資料了

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

最後啟動Spirng Boot工程,在浏覽器位址欄中輸入http://localhost:8080/freemarker就可以,效果如下:

freemarker ftl模闆_Web開發必會的模闆引擎技術之Freemarker

好了,通過以上簡單的幾步就可以輕松實作Spring Boot整合FreeMarker模闆引擎技術進行web開發了,是不是很激動呢。