整合freemarker
- 引入pom文件
<!--springboot 模板引擎 freemarker-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
- 在application.properties进行相关配置
# 整合freemarker相关配置
# 是否开启thymeleaf缓存,本地建议为false,生产上建议为true
spring.freemarker.cache=false
spring.freemarker.charset=utf-8
# 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
spring.freemarker.allow-request-override=false
# 指定HttpSession的属性是否可以覆盖controller的model的同名项
spring.freemarker.check-template-location=true
# 类型
spring.freemarker.content-type=text/html
# 设定所有request的属性在merge到模板的时候,是否要都添加到model中
spring.freemarker.expose-request-attributes=true
# 设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中
spring.freemarker.expose-session-attributes=true
# 文件后缀
spring.freemarker.suffix=.ftl
# 路径
spring.freemarker.template-loader-path=classpath:/templates/
- 建立文件夹
① src/main/resources/templates/fm/user/
② 建立一个index.ftl
③ user文件夹下建立一个user.html - 代码测试 访问freemarker页面 (http://localhost:8088/freemarker/index)
@Controller
@RequestMapping("/freemarker")
public class FreeMarkerController {
@Resource
private SystemConfig systemConfig;
@GetMapping("/index")
public String index(ModelMap modelMap) {
// 添加属性 ——> 在freemarker中取值
modelMap.addAttribute("setting", systemConfig.getTestNum());
// 无需加后缀 前缀在配置文件中已经添加 classpath:/templates/
return "fm/index";
}
}
# 在freemarker中取出上面的setting值
<h1>配置文件环境: ${setting}</h1>
整合thymeleaf
- 引入pom文件
<!--springboot 模板引擎 thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- 配置文件
# 整合thymeleaf相关配置
# 开发时关闭缓存 不然没法看到实时画面
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML5
# 前缀
spring.thymeleaf.prefix=classpath:/templates/tl/
# 编码
spring.thymeleaf.encoding=UTF-8
# 类型
spring.thymeleaf.servlet.content-type=text/html
# 后缀
spring.thymeleaf.suffix=.html
-
建立文件夹
① src/main/resources/templates/tl/
② 建立一个index.ftl -
代码测试
@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {
@Resource
private SystemConfig systemConfig;
@GetMapping("/index")
public String index(ModelMap modelMap) {
// 添加属性 ——> 在thymeleaf中取值
modelMap.addAttribute("setting", systemConfig.getTestNum());
// 无需加前后缀 已在配置文件中已经添加 classpath:/templates/tl/
return "index";
}
}
# html中取值 $表达式只能写在th语法内部
<h1 th:text="${setting}">aws</h1>
如何让新建的resources下文件夹变成springboot能够直接访问的文件夹
# 默认springboot能够访问的文件夹(将模板加入能够直接访问的文件夹下)
spring.resources.static-locations=classpath:/templates/









网友评论