現在的主流開發模式都是採用前後端分離開發,但是作爲個人開發者來說,前後端分離開發所帶來的問題也是不少的,例如常見的ajax跨域問題,筆者在跨域請求的問題上使用了jsonp來解決,但是這次我們主要來講講結合Freemarker模版引擎(前後端不分離)來進行頁面的開發。
對於不會設計頁面的前端小白們來說,福音到了,因爲現在有很多優秀的開源BootStrap現成模版可以供給我們使用。那麼後端程序員在開發上有不用過多的關注頁面的開發,減少開發時間。
Freemarker的原理圖如下:
接下來我來講述一下Springboot整合Freemarker模版引擎(類似jsp)的一些步驟。
1.首先新建一個Springboot web項目(Maven),筆者在之前的博文已經給出,這裏就不做闡述。
2.新建好Springboot web項目之後,我們需要爲項目添加Freemarker依賴。找到pom文件,添加以下依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3.我們在application.properties文件
#Freemarker配置
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.charset=utf-8
spring.freemarker.cache=false
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.suffix=.ftl
4.根據第三步的配置信息,我們在resources中的templates文件夾裏新建flt文件(與html語法大致相同)
5.編寫測試類。
①Controller:
@Controller
public class TestProject {
@RequestMapping(value = "/HelloFreemarker")
public String HelloTest(Model m){
m.addAttribute("name","小明");
m.addAttribute("sex","男");
m.addAttribute("age","23");
return "/HelloWorld";
}
}
②HelloWorld.ftl文件:
6.編譯執行的結果如下圖:
至此,數據已經能在視圖層顯示。
關於Freemarker的更多使用方法請查閱官方文檔:https://freemarker.apache.org/