1、在controller层加入freemaker依赖包
<!--freemark依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、在controller层的application.properties文件中加入配置
#freemarker的相关配置
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.suffix=.ftl
spring.freemarker.content-type=text/html; charset=utf-8
spring.freemarker.template-loader-path=classpath:/templates
//注注释此行,否则会影响static包的页面正常访问(需要加上static才能访问)
#spring.mvc.static-path-pattern=/static/**
3、以上配置对应的页面位置如图:
4、index.ftl的页面内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>详情</title>
</head>
<body>
${name}你好,${message}
</body>
</html>
5、测试controller
package com.liu.web.controller;
import com.liu.beans.OutputObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
import java.util.Map;
//如果想要映射页面地址index.ftl,就必须使用@controller,使用restController会解析成字符串index返回给页面
@Controller
public class FreeMarkController {
private static final Logger logger = LoggerFactory.getLogger(FreeMarkController.class);
@RequestMapping("/freemarker")
public String freemarker(Model model) {
OutputObject out = new OutputObject();
out.setReturnCode("0000");
out.setReturnMess("操作成功");
Map<String, String> map = new HashMap();
map.put("name","李四");
map.put("message","欢迎来到详情页!!");
model.addAllAttributes(map);
logger.info("----静态模板使用成功-----");
return "index";
}
}
6、成功页面: