您的位置:

Thymeleaf使用详解

一、Thymeleaf使用Jar包还是War包

Thymeleaf是一种Java模板引擎,可以运行在 Spring MVC ,Spring WebFlux,Grails 和 Dropwizard 及其他 web 框架的环境中。使用Thymeleaf一般会涉及到使用jar包和war包。当我们需要在Spring Boot项目中使用Thymeleaf时只需要在pom.xml文件中加入如下依赖即可:


   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
   </dependency>

如果我们需要在一个Web应用程序中使用Thymeleaf,则需要使用war包。具体来说,我们需要在WebContent / WEB-INF / lib中添加thymeleaf.jar文件和其他所需的jar文件。

二、Thymeleaf使用前端构建工具

使用Thymeleaf可以方便我们进行一些前端构建工具的使用。例如在Bootstrap中,可以通过Thymeleaf完美地展示数据。可以在Thymeleaf模板中使用Bootstrap组件,例如表格,折叠面板,标签等等。我们可以使用Thymeleaf来轻松地展示表格数据,并根据需要对其进行重新排序,过滤和分页。

三、Thymeleaf模板使用

Thymeleaf是一种面向Web和独立环境的现代服务器端Java模板引擎。它提供了完整的Spring应用程序中模板渲染的能力。模板是使用Thymeleaf语言编写的,它是一种将HTML,XML,JavaScript或文本模板与Java一起使用的模板引擎。

我们可以在Thymeleaf模板中使用的语言有:

  • 变量表达式: ${...}
  • 选择或星号表达式: *{...}和{...}
  • 链接表达式: @{...}
  • 片段表达式: ~{...}
  • 文字(模板)片段: 多用于布局的th:insert和th:replace属性
  • 条件判断: th:if, th:unless, th:switch, th:case
  • 迭代循环: th:each
  • 本地化: 国际化标准(I18N)
  • JavaScript inlining: 支持内联JavaScript

四、使用Thymeleaf完成数据的页面展示

Thymeleaf的最大的优势是其易于集成,并且拥有丰富的JavaScript、CSS和HTML标签库。我们可以通过Thymeleaf轻松地完成我们在Web应用程序中所需的数据展示。具体操作可以在controller中定义相关数据,然后在Thymeleaf模板中展示相关数据。可以使用Thymeleaf轻松地访问控制器中返回的模型对象,并通过模板引擎来渲染视图。


@Controller
public class MyController {
    @GetMapping("/hello")
    public String getHello(Model model) {
        model.addAttribute("message", "Hello Thymeleaf!");
        return "hello";
    }
}

上面代码中的Model类是Spring框架提供的一个对象,可以用于在视图中绑定数据。然后在hello.html模板中展示数据,代码如下:


  <html>
    <head>
      <title>Welcome to Thymeleaf</title>
    </head>
    <body>
        <h1 th:text="${message}">Hello Thymeleaf!</h1>
    </body>
  </html>

五、Thymeleaf适用于

Thymeleaf可以适用于任何需要在Web应用程序中处理和呈现模板的地方。 具体而言,它可以与下列技术集成使用:

  • Spring MVC
  • Spring WebFlux
  • Grails(需要shiro-thymeleaf插件)
  • Dropwizard(需要thymeleaf-dropwizard插件)
  • Vert.x(需要vertx-web-thymeleaf模块)

六、Thymeleaf的作用

Thymeleaf的作用是在Web应用程序中提供出色的模板渲染能力。它提供了丰富的JavaScript,CSS和HTML标签库,并具有易于集成的特性。除此之外,Thymeleaf还可以与多种技术集成使用,并且可以在任何需要在Web应用程序中处理和呈现模板的地方使用。

七、Thymeleaf语法和用法

Thymeleaf的语法和用法相对简单。主要包括模板语法,表达式与标准DOM属性的混合使用,表达式的文字和属性替代,等等。

例如,以下代码块使用了Thymeleaf的条件判断:


<!-- If/else statement -->
<div th:if="${user.isAdmin()}">
    Hello, admin!
</div>
<div th:unless="${user.isAdmin()}">
    You don't have access.
</div>

在Thymeleaf中,我们还可以使用th:each指令来快速显示数组或列表中的元素:


<!-- Using th:each to iterate over a list -->
<ul>
  <li th:each="fruit : ${fruits}">
    <span th:text="${fruit}">Apple</span>
  </li>
</ul>

八、Thymeleaf模板使用教程

以下是Thymeleaf模板的基本使用教程:

  1. 模板文件应该放在src/main/resources/templates目录下。
  2. 在启用Thymeleaf的系统中,模板的基础名称应该在视图解析器中被传递给相关方法。
  3. 在标准模板解析的情况下,视图名称将被视为相对于默认视图目录的模板文件名称。
  4. 模板文件的后缀应该是“.html”、“.xhtml”或“.th/html”。
  5. Thymeleaf模板中的表达式使用花括号包裹(例如:${person.name}代表person对象中的name属性)。

九、Vue和Thymeleaf区别

Vue是一种JavaScript框架,用于构建精美富有交互性的Web应用程序。Vue是一种前端框架,它与Thymeleaf的应用场景和作用有很大不同。

Vue主要用于构建富客户端,即使应用程序具有复杂的UI交互性,也可以在浏览器中实现。而Thymeleaf则是一种Java模板引擎,主要用于生成HTML页面。由于它直接渲染HTML页面,因此它在生成静态内容方面很方便。

十、简述Thymeleaf的应用

Thymeleaf在Web应用程序中通常用于生成HTML模板。一般而言,Thymeleaf用于将数据模型与HTML模板结合起来,以便将数据呈现给用户。一些示例应用包括开发Web商店,博客和网站,这些网站需要动态内容。 除此之外,Thymeleaf还通常用于自然语言处理(NLP),相互作用和处理数据可视化。