spring boot 框架整合 thymeleaf
spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP。因为若一定要使用 JSP 将无法使用。
注意:本文主要参考学习了大神程序员DD的博客。
附上,相应链接:http://blog.didispace.com/springbootweb/
关于 thymeleaf 模板引擎的介绍
同时,模板引擎默认的模板配置路径为:src/main/resources/templates
。
Spring Boot中使用Thymeleaf
引入依赖,并在默认的模板路径
src/main/resources/templates
下编写模板文件。
附上依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>1.4.3.RELEASE</version>
</dependency>
直接在 Controller 中调用模板即可
@Controller
public class HelloController {
@RequestMapping("/")
public String index(ModelMap map) {
// 加入一个属性,用来在模板中读取
map.addAttribute("host", "http://blog.didispace.com");
// return模板文件的名称,对应src/main/resources/templates/index.html
return "index";
}
}
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<h1 th:text="${host}">Hello World</h1>
</body>
</html>
直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/
,则是展示Controller中host的值:http://blog.didispace.com
,做到了不破坏HTML自身内容的数据逻辑分离。
Thymeleaf的默认参数配置
如有需要修改默认配置的时候,只需复制下面要修改的属性到application.properties
中,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。
# 是否开启模板缓存,默认true
spring.thymeleaf.cache=true
# 检查模板位置是否存在
spring.thymeleaf.check-template-location=true
# Content-Type value
spring.thymeleaf.content-type=text/html
# 是否启用MVC-Thymeleaf视图
spring.thymeleaf.enabled=true
# 模板编码
spring.thymeleaf.encoding=UTF-8
# 应该从解析中排除的视图名称列表(用逗号分隔)
spring.thymeleaf.excluded-view-names=
# 要应用于模板的模板模式。另请参见StandardTemplateModeHandlers。
spring.thymeleaf.mode=HTML5
# 在链接网址时预先查看名称的前缀。
spring.thymeleaf.prefix=classpath:/templates/
# 链接网址时附加到视图名称的后缀。
spring.thymeleaf.suffix=.html
# 指定模板的解析顺序,默认为第一个.
spring.thymeleaf.template-resolver-order=
# 指定使用模板的视图名,多个以逗号分隔
spring.thymeleaf.view-names=