温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringBoot整合Thymeleaf视图的方法是什么

发布时间:2022-01-20 09:52:34 来源:亿速云 阅读:187 作者:iii 栏目:web开发

这篇文章主要介绍了SpringBoot整合Thymeleaf视图的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot整合Thymeleaf视图的方法是什么文章都会有所收获,下面我们一起来看看吧。

Thymeleaf视图介绍

先看下官网的介绍:
==Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。
Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。
Thymeleaf拥有适用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML5 JVM Web开发而言,Thymeleaf是理想的选择。==
在SpringBoot中,SpringBoot对Thymeleaf提供了良好的支持,同时也提供了自动化配置,因此在SpringBoot中使用Thymeleaf非常快捷方便。

创建SpringBoot项目

创建方法建议使用IDEA快速创建SpringBoot项目,并选择web、Thymeleaf依赖
创建完成后,IDEA自动在pom中加入了web和Thymeleaf依赖管理,pom.xml:

<dependencies>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-thymeleaf</artifactId>         </dependency>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-web</artifactId>         </dependency>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-test</artifactId>             <scope>test</scope>         </dependency>     </dependencies>

配置Thymeleaf

SpringBoot为Thymeleaf提供了自动化配置类ThymeleafAutoConfiguration,源码:

@Configuration @EnableConfigurationProperties({ThymeleafProperties.class}) @ConditionalOnClass({TemplateMode.class, SpringTemplateEngine.class}) @AutoConfigureAfter({WebMvcAutoConfiguration.class, WebFluxAutoConfiguration.class}) public class ThymeleafAutoConfiguration {...}

可以看出相关的配置信息是从ThymeleafProperties类中获得的,进一步查看ThymeleafProperties的源码:

@ConfigurationProperties(     prefix = "spring.thymeleaf" ) public class ThymeleafProperties {     private static final Charset DEFAULT_ENCODING;     public static final String DEFAULT_PREFIX = "classpath:/templates/";     public static final String DEFAULT_SUFFIX = ".html";     private boolean checkTemplate = true;     private boolean checkTemplateLocation = true;     private String prefix = "classpath:/templates/";     private String suffix = ".html";     private String mode = "HTML";     //省略 }

从该配置可以看出默认的Thymeleaf存放位置是classpath:/templates/,即resources/templates/下,刚刚我们使用IDEA创建项目时,已经自动生成了该目录。
我们如果需要对Thymeleaf的配置进行更改,可直接在application.properties中配置:

#是否开启缓存,默认为true spring.thymeleaf.cache=false #检查模板文件是否存在 spring.thymeleaf.check-template=true #检查模本目录是否存在 spring.thymeleaf.check-template-location=true #模板文件编码 spring.thymeleaf.encoding=UTF-8 #模板位置 spring.thymeleaf.prefix=classpath:/templates/ #模板文件后缀名 spring.thymeleaf.suffix=.html #Content-type spring.thymeleaf.servlet.content-type=text/html

编写Demo

1、新建User和UserController:
User.java:

package com.gongsir.springboot02.pojo; public class User {     private String name;     private String major;     private String grade;     public String getName() {         return name;     }     public void setName(String name) {         this.name = name;     }     public String getMajor() {         return major;     }     public void setMajor(String major) {         this.major = major;     }     public String getGrade() {         return grade;     }     public void setGrade(String grade) {         this.grade = grade;     } }

UserController.java:

@Controller public class UserController {     @GetMapping(path = "/users")     public ModelAndView getUsers(){         List<User> list = new ArrayList<>();         User u1 = new User();         u1.setName("龚涛");         u1.setMajor("计算机");         u1.setGrade("2017");         list.add(u1);         User u2 = new User();         u2.setName("李诗雅");         u2.setMajor("网络工程");         u2.setGrade("2017");         list.add(u2);         //视图模板文件的名字,需在template目录下创建同名模板文件         ModelAndView mv = new ModelAndView("users");         mv.addObject("users",list);         return mv;     } }

2、在模板目录下新建users.html模板文件,显示数据:

<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head>     <meta charset="UTF-8">     <title>用户列表</title> </head> <body>     <table border="1px sold black">         <tr>             <td>姓名</td>             <td>专业</td>             <td>年级</td>         </tr>         <tr th:each="user:${users}">             <td th:text="${user.name}"></td>             <td th:text="${user.major}"></td>             <td th:text="${user.grade}"></td>         </tr>     </table> </body> </html>

3、启动项目,访问http://localhost:8080/users

关于“SpringBoot整合Thymeleaf视图的方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringBoot整合Thymeleaf视图的方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI