前端模板引擎Thymeleaf的整合和使用

这篇具有很好参考价值的文章主要介绍了前端模板引擎Thymeleaf的整合和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、添加依赖

1.1首先,在项目的构建文件中(比如 Maven 或 Gradle)添加 Thymeleaf 的依赖。例如,对于 Maven 项目,在 pom.xml 文件中添加以下依赖

1.2保存并更新项目依赖

二、配置Thymeleaf

2.1模板位置配置

2.2模板缓存配置

2.3自定义标签配置

三、创建模板文件

3.1创建一个HTML文件

3.2在HTML文件中引入Thymeleaf命名空间

3.3在HTML文件中使用Thymeleaf语法来定义模板内容

3.4在Java代码中加载模板,并将数据传递给模板

3.5将生成的HTML代码响应给客户端

四、控制器中使用Thymeleaf

4.1在Spring Boot中,在pom.xml文件中添加以下依赖项

4.2在Spring MVC控制器类中,使用@Controller注解标记该类,并使用@RequestMapping注解定义处理请求的方法。

4.3创建一个包含Thymeleaf模板的HTML文件,并将其放置在/resources/templates目录下。

4.4运行

五、在模板中使用Thymeleaf语法

5.1输出变量值

5.2判断条件

5.3循环迭代

5.4设置属性

5.5表单处理

总结


一、添加依赖

1.1首先,在项目的构建文件中(比如 Maven 或 Gradle)添加 Thymeleaf 的依赖。例如,对于 Maven 项目,在 pom.xml 文件中添加以下依赖

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

1.2保存并更新项目依赖

这样就完成了Thymeleaf的引入。在你的代码中,你可以使用Thymeleaf提供的标签和表达式来处理模板中的动态内容,并将其渲染为最终的HTML页面。

二、配置Thymeleaf

2.1模板位置配置

可以通过配置 spring.thymeleaf.prefix 和 spring.thymeleaf.suffix 来指定模板文件的位置和后缀

spring.thymeleaf.prefix=/WEB-INF/templates/
spring.thymeleaf.suffix=.html

上述配置将会使 Thymeleaf 在 /WEB-INF/templates/ 目录下查找以 .html 结尾的模板文件。

2.2模板缓存配置

Thymeleaf 默认开启了模板缓存,以提高性能。在开发阶段可能需要关闭缓存以方便调试,可以通过配置 spring.thymeleaf.cache 进行设置。

spring.thymeleaf.cache=false

上述配置将会使Thymeleaf的模板缓存

2.3自定义标签配置

Thymeleaf 支持自定义标签,可以在配置中注册自定义标签处理器。

@Configuration
public class ThymeleafConfig implements ITemplateResolver {
    
    // ...其他配置
    
    @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        // 配置模板位置、缓存等
        // ...
        return templateResolver;
    }
    
    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        // 注册自定义标签处理器
        // ...
        return templateEngine;
    }

    @Bean
    public ThymeleafViewResolver viewResolver() {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(templateEngine());
        // 其他配置
        // ...
        return viewResolver;
    }

    // ...其他配置
}

上述代码中,通过 templateResolver() 方法配置模板解析器,通过 templateEngine() 方法配置模板引擎,最后通过 viewResolver() 方法配置视图解析器。在 templateResolver()templateEngine() 方法中可以设置一些自定义的属性,如模板位置、缓存等。在 templateEngine() 方法中还可以注册自定义的标签处理器

三、创建模板文件

3.1创建一个HTML文件

将其命名为模板名称,如“template.html"。

3.2在HTML文件中引入Thymeleaf命名空间

<h1 th:text="${title}">Page Title</h1>
<p th:text="${content}">Page Content</p>

3.3在HTML文件中使用Thymeleaf语法来定义模板内容

<h1 th:text="${title}">Page Title</h1>
<p th:text="${content}">Page Content</p>

3.4在Java代码中加载模板,并将数据传递给模板

// 加载模板文件
Template template = thymeleafTemplateEngine.getTemplate("template.html");

// 创建一个上下文对象,用于传递数据给模板
Context context = new Context();
context.setVariable("title", "My Page Title");
context.setVariable("content", "Hello, world!");

// 渲染模板并生成HTML代码
String renderedHtml = templateEngine.process(template, context);

在上面的例子中,我们使用Thymeleaf模板引擎加载模板文件"template.html",然后创建一个上下文对象并通过它将数据传递给模板。最后,我们调用process()方法来渲染模板,并生成HTML代码。

3.5将生成的HTML代码响应给客户端

response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(renderedHtml);

四、控制器中使用Thymeleaf

4.1在Spring Boot中,在pom.xml文件中添加以下依赖项

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

4.2在Spring MVC控制器类中,使用@Controller注解标记该类,并使用@RequestMapping注解定义处理请求的方法。

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

4.3创建一个包含Thymeleaf模板的HTML文件,并将其放置在/resources/templates目录下。

例如,创建一个名为"hello.html"的文件。在模板中使用Thymeleaf的语法来渲染数据。例如,使用${message}获取在控制器中添加到Model的属性。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello Thymeleaf</title>
</head>
<body>
    <h1 th:text="${message}"></h1>
</body>
</html>

4.4运行

运行应用程序,并访问http://localhost:8080/hello,即可看到渲染后的页面。

五、在模板中使用Thymeleaf语法

5.1输出变量值

使用${}表达式来输出变量的值。

<p th:text="${message}"></p>

5.2判断条件

使用th:ifth:else来实现条件判断。

<p th:if="${user.isAdmin}">管理员</p>
<p th:unless="${user.isAdmin}">普通用户</p>

5.3循环迭代

使用th:each来遍历集合,使用th:object来指定迭代对象的别名。

<ul>
    <li th:each="item : ${items}" th:object="${item}">
        <p th:text="${name}"></p>
        <p th:text="${price}"></p>
    </li>
</ul>

5.4设置属性

使用th:attr来设置HTML元素的属性,如hrefsrc等。

<a th:href="@{/product/{id}(id=${productId})}" th:attr="title=${productName}">
    <img th:src="@{${imageUrl}}" />
</a>

5.5表单处理

使用th:fieldth:errors来绑定表单字段和错误信息。

<form th:action="@{/login}" method="post" th:object="${user}">
    <label>用户名:<input type="text" th:field="*{username}" /></label>
    <span th:errors="*{username}"></span>
    <label>密码:<input type="password" th:field="*{password}" /></label>
    <span th:errors="*{password}"></span>
</form>

总结

使用Thymeleaf的步骤包括引入依赖、配置Thymeleaf、创建模板文件、在控制器中使用Thymeleaf和在模板中使用Thymeleaf语法。Thymeleaf提供了强大而灵活的功能,使开发者能够方便地实现数据与页面的动态绑定。文章来源地址https://www.toymoban.com/news/detail-859354.html

到了这里,关于前端模板引擎Thymeleaf的整合和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Boot】Thymeleaf模板引擎 — Thymeleaf入门

    主要介绍什么是Thymeleaf以及Spring Boot如何集成使用Thymeleaf模板,最后介绍Spring Boot支持的Thymeleaf的一些常用的配置参数。 Thymeleaf是一款非常优秀的服务器端页面模板引擎,适用于Web和独立环境,具有丰富的标签语言和函数,能够处理HTML、XML、JavaScript甚至文本。 Thymeleaf相较于

    2024年02月05日
    浏览(42)
  • SpringBoot Thymeleaf模板引擎

    前端交给我们的页面,是 html 页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。 jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这

    2024年02月13日
    浏览(32)
  • 【SpringBoot】| Thymeleaf 模板引擎

    目录 Thymeleaf 模板引擎 1. 第一个例子 2. 表达式 ①标准变量表达式 ②选择变量表达式(星号变量表达式) ③链接表达式(URL表达式) 3. Thymeleaf的属性 ①th:action ②th:method ③th:href ④th:src ⑤th:text ⑥th:style ⑦th:each (重点) ⑧条件判断 if-unless ⑨switch-case 判断语句 ⑩th:inline内联

    2024年02月08日
    浏览(37)
  • thymeleaf模板引擎

    ThymeleafProperties 配置类 1.默认编码 2.前缀 3.后缀 相当于视图解析器    这是学SpringBoot的必经之路,非常重要!!!(除非你是学前端的)   只改了前端代码点一下这个就可以刷新    传值过来了  th:text=\\\"${msg}\\\"爆红,但是可以显示,File-Settings-Editor-Inspection  取消“Expression

    2024年02月14日
    浏览(41)
  • 【SpringBoot学习笔记】04. Thymeleaf模板引擎

     所有的html元素都可以被thymeleaf替换接管  th:元素名 templates下的只能通过Controller来跳转,templates前后端分离,需要模板引擎thymeleaf支持    模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这些值,从哪来呢,就是我们在后台封

    2024年02月13日
    浏览(36)
  • 15 springboot项目——thymeleaf语法与关闭模板引擎

            在html文件中,有些是需要使用本地的css样式,使用thymeleaf语法加载:         首先对head标签上面的html标签进行更改:         其次,导入thymeleaf依赖:         接着,使用thymeleaf语法:         碰到href或者src后边与静态资源有关的的本地路径要进行修改,把要

    2024年02月14日
    浏览(38)
  • 【Spring Boot】Thymeleaf模板引擎 — 表达式的语法

    模板的主要作用是将后台返回的数据渲染到HTML中。那么Thymeleaf是如何解析后台数据的呢?接下来从变量、方法、条件判断、循环、运算(逻辑运算、布尔运算、比较运算、条件运算)方面学习Thymeleaf表达式支持的语法。 (1)文本赋值 赋值就是通过${}标签将后台返回的数据替

    2024年02月14日
    浏览(37)
  • SpringBoot 整合Thymeleaf教程及使用

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。 目录 一、整合

    2024年02月06日
    浏览(38)
  • SpringBoot 整合Thymeleaf教程及使用 springboot配合thymeleaf,调用接口不跳转页面只显示文本

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。 目录 一、整合

    2024年02月08日
    浏览(74)
  • 40、Thymeleaf的自动配置和基本语法、springboot 整合 Thymeleaf

    要使用这个 Thymeleaf ,需要在页面引入这个命名空间。 pom文件也需要加入thymeleaf的依赖 html 是根元素,把这个th命名空间引入进去,表示这整个html页面都能使用这个thymeleaf语法,都可以使用这个 th 前缀。 代码演示: ${objList} 就是要遍历的集合 obj 就是集合中的每个元素 iter

    2024年02月10日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包