Thymeleaf模板引擎

6.1.1 模板引擎

        在现代Web开发中,模板引擎是不可或缺的一部分。它们帮助我们分离业务逻辑与前端展示,使前端开发更加高效、灵活。在众多模板引擎中,Thymeleaf以其简洁的语法、非侵入式的设计以及与Spring框架的无缝集成,逐渐成为许多开发者的首选。

        本文将详细探讨Thymeleaf模板引擎的特点、使用场景、基本语法及其与Spring Boot的整合方式。

Thymeleaf的特点

1. 非侵入式模板设计

Thymeleaf的设计遵循了非侵入式的原则,这意味着开发者可以直接使用HTML作为模板语言,只需在需要的地方添加Thymeleaf特定的属性前缀(默认为th:)。这种设计方式不仅使得前端设计师可以更加专注于页面设计,无需担心模板引擎的特定语法,还降低了后端开发人员的学习成本。

2. 支持HTML5标准

Thymeleaf完全支持HTML5标准,提供了丰富的标签库来处理条件语句、循环、国际化、URL处理等常见Web开发任务。这些标签的语法设计得非常直观,使得模板易于理解和维护。

3. 高性能

尽管Thymeleaf的语法简洁且功能强大,但它并未牺牲性能。在服务器端执行时,Thymeleaf会首先将模板转换为一种优化的执行结构,这种结构使得模板的渲染过程非常高效。

4. 与Spring框架无缝集成

Thymeleaf与Spring Framework无缝集成,为基于Spring的应用提供了强大的模板解决方案。特别是Spring Boot,更是将Thymeleaf作为默认的模板引擎之一,进一步简化了配置和使用过程。

5. 开箱即用

Thymeleaf提供了Spring标准方言以及一个与Spring MVC完美集成的可选模块,可以快速地实现表单绑定、属性编辑器、国际化等功能。这些功能极大地提高了开发效率,降低了开发成本。

6.2 快速上手

1.构建项目:

        之前已经教过怎么建项目了自己去翻一下

2.添加依赖

        不管采用那种构建项目方式,项目准备好后,需要配置pom.xml文件,添加相应的依赖(启动器),pom.xml文件中添加的依赖如下:

<dependencies>       
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <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-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
</dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                        <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.application.properties添加配置

        spring.thymeleaf.cache=false

4.Model 准备

        在之前的学习中,entity、Repository已经开发完成(其实几乎不用写什么代码),此处只需要编写好Service即可,提供基本的CRUD功能

public interface UserService {
    User login(String usrName, String usrPassword);
    int addUser(User user);
    int deleteUser(Long usrId);
    int updateUser(User user);
    User getUser(Long usrId);
    List<User> findAllUsers();
}

5.控制器开发

        在com.bdqn.crm.web.controller包下创建 ExampleController,用于演示:

@Controller
public class ExampleController {
    @Resource
    private UserService userService;

    @GetMapping(value = "hello/{id}")
    public String getUser(@PathVariable("id") Long usrId, Model model){
        User user = userService.getUser(usrId);
        model.addAttribute("user",user);
        return "demo/hello";
    }

6.开发页面

        在resource/templates/demo 目录下新建hello.html,Kind(种类)选择 HTML5 file

<!DOCTYPE html>
<!--加入对Thymeleaf模板引擎支持-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
    <link rel="stylesheet" th:href="@{/css/index.css}" />
</head>
<body>
欢迎您,<span th:text="${user.usrName}">张三</span>!
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值