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=