1. 程式人生 > >Spring Boot入門系列五(FreeMarker模板的使用)

Spring Boot入門系列五(FreeMarker模板的使用)

前端 start marker pin 用戶 需要 類庫 準備 control

FreeMarker模板的使用

  FreeMarker是一款模板引擎: 即一種基於模板和要改變的數據, 並用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的通用工具。 它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發產品的組件。
  FreeMarker是免費的,基於Apache許可證2.0 版本發布。其模板編寫為 FreeMarker Template Language(FTL),屬於簡單、專用的語言。需要準備數據在真實編程語言中來顯示,比如數據庫查詢和業務運算, 之後模板顯示已經準備好的數據。在模板中,主要用於如何展現數據, 而在模板之外註意於要展示什麽數據。

使用方法;

一、在pom.xml中引入依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

二、在application.properties中配置FreeMarker

############################################################
#
# freemarker
#
############################################################
spring.freemarker.template-loader-path=classpath:/templates
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.request-context-attribute=request
spring.freemarker.suffix=.ftl

三、創建index.ftl文件,用於在瀏覽器端展示數據

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8"/>
    <title></title>
</head>
<body>
FreeMarker模板引擎
<h1>${resource.name}</h1>
<h1>${resource.webSite}</h1>
<h1>${resource.language}</h1>
</body>
</html>

   技術分享圖片

四、創建Controller,用於向前端頁面返回數據

  

/**
 * @author oyc
 * @Title:
 * @Description:
 * @date 2018/6/1323:15
 */

@Controller
@RequestMapping("ftl")
public class FreemarkerController {

    @Autowired
    private Resource resource;

    @RequestMapping("/index")
    public String index(ModelMap map) {
        map.addAttribute("resource", resource);
        return "freemarker/index";
    }
}

   技術分享圖片

六、在瀏覽器訪問相應的地址,即可展現我們猜想到的界面:

技術分享圖片

Spring Boot入門系列五(FreeMarker模板的使用)