需求緣起
有學員在網易雲課堂討論區留言:
針對這個問題,可以分解爲兩個小問題:
(1)如何在當前的代碼中集成freemarker?
(2)如何在.ftl文件中使用@security標籤?
一、集成freemarker
集成思路:
(1)添加依賴;
(2)配置freemarker;
(3)編寫ftl文件;
(4)添加請求映射;
1.1 添加依賴
在pom.xml文件中添加依賴:
<!-- freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
1.2 配置freemarker
在application.properties文件配置一下freemarker:
########################################################
### freemarker
########################################################
# 設定ftl文件路徑
spring.freemarker.tempalte-loader-path=classpath:/templates
# 關閉緩存,及時刷新,上線生產環境需要修改爲true
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
1.3 編寫ftl文件
在resources/templates/ 下編寫一個helloFreemarker.ftl文件:
<!DOCTYPE html>
<html>
<head>
<title>Hello Freemarker!</title>
</head>
<body>
<p>hello,${name}</p>
</body>
</html>
1.4 添加請求映射
最後在controller添加地址和頁面的映射關係:
@GetMapping("/helloFreemarker")
public String helloFreemarker(Model model) {
model.addAttribute("name", "悟空");
return "/helloFreemarker";
}
到此就可以啓動測試一下,登錄然後訪問地址: