SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图
什么是Freemarker
FreeMarker是一款模板引擎: 即一種基于模板和要改變的數(shù)據(jù), 并用來(lái)生成輸出文本(HTML網(wǎng)頁(yè)、電子郵件、配置文件、源代碼等)的通用工具。 它不是面向最終用戶的,而是一個(gè)Java類庫(kù),是一款程序員可以嵌入他們所開(kāi)發(fā)產(chǎn)品的組件。
FreeMarker是免費(fèi)的,基于Apache許可證2.0版本發(fā)布。其模板編寫(xiě)為FreeMarker Template Language(FTL),屬于簡(jiǎn)單、專用的語(yǔ)言。需要準(zhǔn)備數(shù)據(jù)在真實(shí)編程語(yǔ)言中來(lái)顯示,比如數(shù)據(jù)庫(kù)查詢和業(yè)務(wù)運(yùn)算, 之后模板顯示已經(jīng)準(zhǔn)備好的數(shù)據(jù)。在模板中,主要用于如何展現(xiàn)數(shù)據(jù), 而在模板之外注意于要展示什么數(shù)據(jù)
說(shuō)在前面
Spring Boot官方不推薦使用jsp,因?yàn)閖sp相對(duì)于一些模板引擎,性能都比較低。
Spring Boot提供了默認(rèn)配置的模板引擎主要有以下幾種:
? Thymeleaf
? Freemarker
? Velocity
? Groovy
? Mustache
使用模板引擎中的任何一個(gè),它們默認(rèn)的模板配置路徑為:src/main/resources/templates。想要修改路徑,可以在配置文件中進(jìn)行修改
代碼實(shí)現(xiàn)
1、pom.xml文件中引入freeMarker的依賴包
<!-- 引入freeMarker的依賴包 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、application.properties文件配置
########################################################
###FREEMARKER (FreeMarkerAutoConfiguration)
########################################################
spring.freemarker.allow-request-override=false
spring.freemarker.cache=true
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
spring.freemarker.suffix=.ftl
spring.freemarker.template-loader-path=classpath:/templates/
#comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved
3、index.ftl文件
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>${name}
</body>
</html>
4、controller文件實(shí)現(xiàn)
@Controller
public class IndexController {@RequestMapping(value = "index")public String index(Model model) {model.addAttribute("name", "zlzhaoe");return "index";}
}
總結(jié)
以上是生活随笔為你收集整理的SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot (一) :入门篇
- 下一篇: SpringBoot (四) :Spri